打包后进行临时分发,iOS应用程序数据持久性不起作用

时间:2010-10-22 22:30:49

标签: persistence distribution nsdictionary adhoc

我刚刚完成了一个应用程序,允许用户在tableview中存储序列号列表。应用程序存储数字的方式是存储在NSMutableDictionary中,然后写入持久性plist文件。该应用程序在测试期间运行完美。

但是,我只是构建并打包了应用程序以进行临时分发,现在当我从最终用户角度测试应用程序时,数据未被保存,即当我向tableview添加新行时输入一个新数字,新行没有被创建,没有任何东西被写入字典。我使用以下代码写入plist(假设已经填充了dict):

[dict writeToFile:[appDelegate dataFilePath] atomically:YES];

我的App代表中的位置:

- (NSString *)dataFilePath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    return [documentsDirectory stringByAppendingPathComponent:kFilename];
}

我用这个从磁盘读取plist:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithContentsOfFile:[appDelegate dataFilePath]];

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

如果您说您在保存数据时遇到问题,那么您应该显示将此plist文件写入磁盘的代码,并显示从磁盘加载数据的代码。否则,您要求我们推测性地调试您的代码。

如果您在应用程序包中执行此操作,那么该操作将在模拟器中运行,但在设备上运行时则不行。

答案 1 :(得分:0)

哦,我意识到了什么。我使用4.2 beta SDK进行了所有开发,现在运行使用4.1编译的应用程序作为基础,数据似乎不会持久! 4.2中有新内容吗?