InAppSettingsKit 3.0

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.

TL;DR

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.

Check the GitHub page for all the details and if you like the framework, you can now sponsor my open source work to support the future development of the framework. ?

Subscribe to the FutureTap Newsletter

View previous newsletters
Consent

We will use your name and email address to provide news and offers about our apps. We will treat your information with respect. By clicking below, you agree that we may process your information in accordance with our privacy policy.