Plist在模拟器中工作,但在设备上不工作

时间:2009-11-07 22:40:01

标签: iphone sdk plist

是否有任何理由从plist中提取的数据会显示在模拟器中但不会显示在我的测试设备上?整天都在努力工作,并且非常激动,直到我在实际设备上进行测试。奇怪。

感谢。

4 个答案:

答案 0 :(得分:4)

我不知道这个答案是否会有所帮助。如果plist存储在Resources中,则模拟器将正常工作。在设备上,plist文件将仅获得读取权限,并且无法在此文件中修改数据。解决方法是将安装后的plist文件保存到Application documents文件夹中,在该文件夹中将为文件提供读写权限。 测试用例: 我有一个usersettings plist文件,用于将用户视图从表视图更改为滚动视图。需要在应用程序中完成设置。这在模拟器上工作正常,但在设备上,它无法正常工作,因为默认值无法修改。所以我将plist文件复制到文档中,并且能够成功完成。 复制文件的代码与您在sqlite示例中看到的相同。

答案 1 :(得分:3)

知道你已经解决了这个问题,但是想要跟进,因为如果你正在搜索这个问题,这个主题就是谷歌的热门话题。

检查plist文件的名称。似乎模拟器不区分大小写,但iPhone是。例如,如果您有一个名为“Foo.plist”的文件,但在代码中将其引用为“foo.plist”,它将在模拟器中正常工作,但无法在设备上加载。

答案 2 :(得分:1)

似乎重新创建了plist修复了我的问题。现在可以在模拟器和设备中使用。

答案 3 :(得分:0)

这里没有太多信息...... plists通常运作良好。你做过Build-> Clean?