iOS 提供两种 application preferences 的实现方式:程序内置,系统集成。
1. 程序内置
依照传统方式,在应用程序中提供设置界面和实现设置逻辑,主要用于频繁使用和变化的设置参数。
2. 系统集成
实现一个独立的 Settings Bundle 。 iOS 的 System Settings 程序会加载这个 Bundle 并负责管理交互和数据处理。对应于 Mac OS X 平台上的 Preference Pane 。
无论哪种方式,都应该使用 NSUserDefaults 或者 CFPreferences 来实现具体的逻辑。苹果不建议直接访问偏好数据文件(顺便说一下,实际上就是一个存放在指定位置的 XML 文件),因为 XML 文件格式包括其存放的位置都可能改变。但是似乎苹果在暗示由 NSUserDefaults 或者 CFPreferences 提供的接口是永远向后兼容的。