iPhone设置消失

时间:2010-02-10 04:18:20

标签: iphone ios-simulator

我创建了一个使用应用程序设置和用户默认设置的应用程序,遵循“开始iPhone开发”一书中的示例。在某些情况下,我的设置似乎消失了。 如果我启动模拟器,我可以进入设置并查看它,然后我可以打开我的应用程序,我的设置可以在应用程序内读取。如果我然后离开我的应用程序并返回设置屏幕,我将无法再看到我的应用程序的设置!

我是iPhone开发人员的新手,有什么显而易见的东西我可以忽略吗?

感谢。

2 个答案:

答案 0 :(得分:3)

经常看到,到目前为止并不担心。在开发应用程序时,我每天都会将应用程序重新安装到iPhone模拟器中几十次。打开设置应用程序时,我通常不会看到我的应用程序。只需关闭并重新打开设置,现在它就在那里。

这是模拟器的工作方式(见下文)。如果您要测试应用设置,请关闭并重新打开您的应用。请勿重新安装,因为这会覆盖您现有的设置。

引用Apple的文档(bit.ly/1alQ2Y):“每次重新安装应用程序时,iPhone OS都会执行全新安装,这会删除之前的所有首选项。换句话说,构建或运行Xcode中的应用程序总是安装一个新版本,替换任何旧内容。要测试连续执行之间的首选项更改,您必须直接从模拟器界面运行应用程序,而不是从Xcode运行。“ (thanx cagreen)

顺便说一句:我改变了应用程序设置,并没有在模拟器中看到这些值。当检查实际的.plist文件时,我总能找到真正的最新值。不得不卸载并重新安装我的应用程序,覆盖不起作用。有时即使这不起作用,无论是Xcode还是模拟器都在缓存旧值!部分解决方案是开始更新应用程序版本号(CFBundleShortVersionString)。

答案 1 :(得分:2)

在模拟器中运行应用程序时,应用程序位于

~/Library/Application Support/iPhone Simulator/User/Applications/appid

其中appid是每个应用程序唯一生成的UUID。该应用的用户设置位于

~/Library/Application Support/iPhone Simulator/User/Applications/appid/Library/Preferences

我注意到如果你让模拟器继续运行,每次运行应用程序时都会使用相同的appid,但是如果你退出模拟器,它会在下次运行应用程序时给它一个新的appid它会失去设置。