我正在Xcode 4.1中开发一个PreferencePane,我似乎无法将偏好值存储在除com.apple.systempreferences.plist之外的任何内容中。
我已在MyApp-Info.plist文件中为我的应用设置了Bundle Identifier,但这似乎没有被提取。
我已经广泛搜索了答案,但找不到任何答案。您可以按如下方式轻松复制问题:
在XCode中:
在系统偏好设置中
但为什么不用指定的包标识符创建一个新的plist文件,并将首选项值存储在那里?
这是Xcode 4.1 / Mac OS 10.7中的错误吗?任何帮助非常感谢!
答案 0 :(得分:2)
您可以使用NSUserDefaults
访问捆绑包ID的默认值:
[[NSUserDefaults standardUserDefaults] persistentDomainForName:@"yourBundleID"];
这将返回包含您的包的首选项的字典。然后,您可以使用setPersistentDomain:forName:
NSUserDefaults
方法存储更新的首选项词典。
答案 1 :(得分:0)
不是错误 - 首选项存储在与应用程序对应的plist中,而不是包中。您必须使用Core Foundation prefs system来读取和编写特定于您的捆绑包的首选项。