The popular open source framework to easily add in-app settings to your iPhone apps has been released in version 3.0. Normally, iOS apps use the Settings.bundle resource to add app-specific settings in the Settings app. InAppSettingsKit takes advantage of the same bundle and allows you to present the same settings screen within your app. So the user has the choice where to change the settings.
But InAppSettingsKit goes one step further. It not only replicates the system settings feature set but supports a large number of additional elements and configuration options if the settings screen is displayed within the app. Many developers even remove the settings pane from the system settings and solely rely on a rich in-app settings screen.
InAppSettingsKit 3.0 comes with the following new features:
- List Groups (great for a variable number of items such as tags or accounts)
- Date Picker
- Toggles with checkmarks (instead of switches)
- Text field validation
- Support hiding sections
- Support of the iOS text content type (allows auto-filling the name, email address and more)
Even though InAppSettingsKit is written in Objective-C, it plays nicely with Swift. In 3.0, I added nullability annotations and using properties instead of getter methods to improve the Swift interoperability. In fact, I rewrote the sample app in Swift to show this.
For many form-like table view UIs, InAppSettingsKit is a great choice because it saves a ton of error-prone code. Simply configure the UI using a static plist and only add a few lines of code for interactivity such as dynamic section hiding or input field validation.