【问题标题】:Writing into plists in iOS 5.0.1在 iOS 5.0.1 中写入 plist
【发布时间】:2012-03-10 05:29:14
【问题描述】:

我正在使用以下代码写入 plist:

  NSMutableArray *d = [[NSMutableArray alloc] initWithContentsOfFile:
                     [[NSBundle mainBundle] pathForResource:@"FavoritesTaxi" ofType:@"plist"]];
[d addObject:self.dataItem];


// write dictionary to plist
[d writeToFile:[[NSBundle mainBundle] pathForResource:@"FavoritesTaxi" ofType:@"plist"] atomically:YES];
[d release];

我在 4 个不同的设备(2 个模拟器和 2 个真正的 iphone)上测试了这段代码。 它在以下方面起作用: iPhone 4.3 模拟器 iPhone 5.0 模拟器 iPhone 4.3 真机

但它不适用于以下情况: iPhone 5.0.1 真机。

我真的不知道为什么这个设备会发生这种情况。任何想法为什么?解决办法是什么?

【问题讨论】:

    标签: objective-c ios xcode ios5


    【解决方案1】:

    您无法修改设备上的主捆绑包,您没有这样做的权限。因此,您不能将 plist 写入主包中。我怀疑这在 4.3 设备上是否有效,它可能没有给你一个错误。

    您应该将数据保存到文档目录中,这里有大量代码示例用于获取文档目录的路径。

    【讨论】:

    • 你是对的。所以现在,如果我在我的项目中创建了一个 plist 并且我想把它放在文档目录中,我必须选择 plist,打开实用程序,并且在“位置”中,我应该选择“相对于开发者目录”?然后不是在主包中写入文件,而是为文档目录编写文件?还是代码有更多修改?
    • 通常,如果您有一个现有的 plist 用户可以修改并重新保存,您首先将其包含在包中,然后将其复制到文档目录中的代码你的第一次跑步。同样有很多示例,或者您可以提出一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2012-07-14
    相关资源
    最近更新 更多