Welcome to mySettings
mySettings (for lack of a better name) is an iPhone API for displaying the application settings in the iPhone application itself, instead of in the Settings app. That way the user might actually find them and use them. It uses a plist configuration file like the one used by the settings app, with some added options.
In a nutshell it takes a plist like this:
... and turns it into this:
- Text fields, on/off switch button, integers and time intervals (with maximum/minimum values and custom format string for the integers).
- Selecting one option from a list.
- More options are needed, obviously, like dates. Feel free to help out if there are other options you would like to see implemented.
- Support for custom cells.
- Titles can be indented.
- By default the settings themselves are stored in the standard user defaults object ([NSUserDefaults standardUserDefaults]), but you can use any object that supports key-value coding. This enables you to use your model classes directly in the settings view.
- A section can be dynamically populated from an array.
- Support for delegates. Makes it possible to customise the built-in cells right after they are initialised, so you can give them any colours, fonts, backgrounds etc you want.
- And if you don’t find blue pyjama stripes exciting, you can of course change the table view background.
mySettings is still in early development, so if you find any bugs or have any feature requests feel free to report them here. Or better yet, fix/implement them yourself and let me know about it so I can integrate the changes into this repository.
mySettings is released under the Eclipse Public License v1.0 (FAQ). Basically this means you can use it in any program you like, commercial or not (as long as the licence of your program supports it, obviously). And if you make any changes to the mySettings code you have to make those changes available to others under the Eclipse Public License too. You can of course keep the rest of your code close sourced.