O'Reilly logo

iOS App Development Portable Genius by Richard Wentk

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Creating Preferences

Many apps include a Preferences pane that appears in the Settings app, as shown in Figure 11.14. Users can access this pane to change basic settings in the app.

Internally, your app can access these preferences by loading a defaults object, like this:

NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

Although NSUserDefaults isn’t a subclass of NSDictionary, it holds key-value pairs in the same way. Figure 11.15 shows some of the critical tasks that can be used to get and set values.

9781118462133-fg1114.tif

11.14 A preferences pane on the iPad. iPhone panes have identical settings but are smaller.

You work with preferences in four steps:

1. Add a file called a Settings Bundle to your app.

2. Edit the file to define the settings you want to include. The file is a plist, and you can use the standard Xcode plist editor.

3. When your app starts, you must register defaults for the preferences. You can then load them into your app wherever they’re needed.

4. You can now read and set keys in your app. If you set a key in your app, its value is saved to the Settings Bundle. The updated value appears in the preferences the next time the user views them.

Adding and editing a Settings Bundle

To add a Settings Bundle, follow these steps:

1. Right-click the Supporting Files group in the Project Navigator.

2. Select New File….

3. Select iOSResource and Settings Bundle, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required