Iphone 应用程序设置更改:需要对StandardUserDefault进行2次同步吗?

Iphone 应用程序设置更改:需要对StandardUserDefault进行2次同步吗?,iphone,application-settings,Iphone,Application Settings,我正在更改iPhone应用程序中的应用程序设置 奇怪的是,我必须使用StandardUserDefaults执行2个同步命令,以使我的更改反映在应用程序设置中 其次,当我在iPhone应用程序中更改我的“首选用户语言”时,我确实需要启动应用程序两次才能更改语言 原因是什么 是否有方法转储StandardUserDefaults并查看存储在其中的所有设置 谢谢你的帮助 是否有方法转储StandardUserDefaults并查看存储在其中的所有设置 是的,这很容易做到 NSUserDefaults

我正在更改iPhone应用程序中的应用程序设置

奇怪的是,我必须使用
StandardUserDefaults
执行2个同步命令,以使我的更改反映在应用程序设置中

其次,当我在iPhone应用程序中更改我的“首选用户语言”时,我确实需要启动应用程序两次才能更改语言

原因是什么

是否有方法转储
StandardUserDefaults
并查看存储在其中的所有设置

谢谢你的帮助

是否有方法转储StandardUserDefaults并查看存储在其中的所有设置

是的,这很容易做到

NSUserDefaults存储在库文件夹中应用程序沙盒环境中的plist文件中

要在模拟器上检查这一点,请查看

~/Library/Application Support/iPhone 模拟器/5.0/Applications/[散列应用程序 标识符]/Library/Preferences/[application bundle identifier].plist


请注意,您必须替换括号中的值才能找到您的特定应用程序。另外请注意,此路径适用于iOS5.0环境-对于其他人,您必须使用您正在使用的任何系统版本替换5.0。

对于“应用程序设置中反映的更改”意味着什么?我也有同样的问题,有时即使调用synchronize,NSUserDefault中的更改也无法保存,有些奇怪的事情需要你马上回答。我可以找到这个plist文件,但是我无法打开它,因为它是一个链接,并且找不到原始文件。我该怎么办?谢谢FlorianIt不应该是链接。我怀疑你看到的是一个指向
com.apple.PeoplePicker.plist
的链接,但另外你应该看到一个包含特定于应用程序的默认值的适当文件(而不是链接/别名)。正确,但只有com.apple.PeoplePicker.plist。没有更多的条目了,我在preferences目录中又查看了一次。不幸的是,没有plist文件(com.apple.PeoplePicker.plist除外,它是一个链接)。