Preferences are pieces of information that you store persistently and use to configure your app. Apps often expose preferences to users so that they can customize the appearance and behavior of the app. Most preferences are stored locally using the Cocoa preferences system—known as the user defaults system. Apps can also store preferences in a user’s iCloud account using the key-value store.
Mac users can unlock the locked pane to make settings. Just click the lock icon and type in the administrator password for your Mac. How to Remove System Preference Panes in Mac. There is a universal method that works for all types of preference panes, personal or public. To delete a chosen preference pane, go to System Preferences window. In the General section, the preference settings include. Show These Items on the Desktop: Select these check boxes to display your internal hard disks, external hard drives, removable volumes (including CDs, DVDs, and iPods), and connected network servers. New Finder Windows Show: Click the pop-up menu to specify the spot where a new Finder window should open. Prior to restoring your preferences, make sure to back-up your preferences. Using the keyboard shortcut or delete on quit preference to reset your preferences permanently deletes a subset of preferences files including settings from the preferences dialog, custom shortcuts, workspaces, and color settings. For a list of specific files that are deleted see these tables for preference file.
The user defaults system and key-value store are both designed for storing simple data types—strings, numbers, dates, Boolean values, URLs, data objects, and so forth—in a property list. The use of a property list also means you can organize your preference data using array and dictionary types. It is also possible to store other objects in a property list by encoding them into an
NSData object first.
At a Glance
Apps integrate preferences in several ways, including programmatically at various points throughout your code and as part of the user interface. Preferences are supported in both iOS and Mac apps.
You Decide What Preferences You Want to Expose
Preferences are different for each app, and it is up to you to decide what parts of your app you want to make configurable. Configuration involves checking the value of a stored preference from your code and taking action based on that value. Thus, the preference value itself should always be simple and have a specific meaning that is then implemented by your app.
Relevant section:What Makes a Good Preference?
Reference For Maslow
Apps Provide Their Own Preferences Interface
Because each app’s preferences are different, the app itself is responsible for deciding how best to present those preferences to the user, if at all. Both iOS and OS X provide some standard places for you to incorporate a preferences interface, but you are still responsible for designing that interface and displaying it at the appropriate time.
Apps Access Preferences Using the User Defaults Object
Apps access locally stored preferences using a user defaults object, which is either an
NSUserDefaults object (iOS and OS X) or an
NSUserDefaultsController object (OS X only). In addition to retrieving preference values, apps can use this object to register default values for preferences and manage other aspects of the preferences system.
Relevant chapter:Accessing Preference Values
iCloud Stores Shared Preference and Configuration Data
Apps that support iCloud can put some of their preference data in the user’s iCloud account and make it available to instances of the app running on the user’s other devices. You use this capability to supplement (not replace) your app’s existing preferences data and provide a more coherent experience across the user’s devices. For example, a magazine app might store information about the page number and issue last read by the user so that the app running on a different device can show that same page.
Defaults Are Grouped into Domains in OS X
OS X preferences are grouped by domains so that system preferences can be differentiated from app preferences. Splitting preferences in this manner lets the user specify some preferences globally and then override one or more of those preferences inside an app.
System Preferences Mac Os X
Relevant section:The Organization of Preferences
A Settings Bundle Manages Preferences for iOS Apps
An iOS, apps can display preferences from the Settings app, which is a good place to put preferences that the user does not need to configure frequently. To display preferences in the Settings app, an app’s bundle must include a special resource called a Settings bundle that defines the preferences to display, the proper way to display them, and the information needed to record the user’s selections.
Apple Menu System Preferences
Note: Apps are not required to use a Settings bundle to manage all preferences. For preferences that the user is likely to change frequently, the app can display its own custom interface for managing those preferences.
Relevant chapter:Implementing an iOS Settings Bundle
For information about property lists, see Property List Programming Guide.
For more advanced information about using Core Foundation to manage preferences, see Preferences Programming Topics for Core Foundation.