CleanroomAppSettings
CleanroomAppSettings provides a set of interfaces and implementations to abstract away code dependence on a singleton NSUserDefaults
instance.
CleanroomAppSettings is part of the Cleanroom Project from Gilt Tech.
Swift compatibility
This is the master
branch. It uses Swift 3.1 and requires Xcode 8.3 to compile.
Current status
Branch | Build status |
---|---|
master |
License
CleanroomAppSettings is distributed under the MIT license.
CleanroomAppSettings is provided for your use—free-of-charge—on an as-is basis. We make no guarantees, promises or apologies. Caveat developer.
Adding CleanroomAppSettings to your project
The simplest way to integrate CleanroomAppSettings is with the Carthage dependency manager.
First, add this line to your Cartfile
:
github "emaloney/CleanroomAppSettings" ~> 1.4.0
Then, use the carthage
command to update your dependencies.
Finally, you’ll need to integrate CleanroomAppSettings into your project in order to use the API it provides.
Once successfully integrated, just add the following import
statement to any Swift file where you want to use CleanroomAppSettings:
import CleanroomAppSettings
See the Integration document for additional details on integrating CleanroomAppSettings into your project.
API documentation
For detailed information on using CleanroomAppSettings, API documentation is available.
About
The Cleanroom Project began as an experiment to re-imagine Gilt’s iOS codebase in a legacy-free, Swift-based incarnation.
Since then, we’ve expanded the Cleanroom Project to include multi-platform support. Much of our codebase now supports tvOS in addition to iOS, and our lower-level code is usable on macOS and watchOS as well.
Cleanroom Project code serves as the foundation of Gilt on TV, our tvOS app featured by Apple during the launch of the new Apple TV. And as time goes on, we’ll be replacing more and more of our existing Objective-C codebase with Cleanroom implementations.
In the meantime, we’ll be tracking the latest releases of Swift & Xcode, and open-sourcing major portions of our codebase along the way.
Contributing
CleanroomAppSettings is in active development, and we welcome your contributions.
If you’d like to contribute to this or any other Cleanroom Project repo, please read the contribution guidelines.
Acknowledgements
API documentation for CleanroomAppSettings is generated using Realm’s jazzy project, maintained by JP Simard and Samuel E. Giddins.