Iphone 存储到plist可以在模拟器上工作,但不能在设备上工作

Iphone 存储到plist可以在模拟器上工作,但不能在设备上工作,iphone,objective-c,plist,Iphone,Objective C,Plist,我当前将数据添加到NSMutableArray,然后从中读取数据以填充UITableview。这在模拟器上运行良好,但在设备上进行测试时却不起作用。应用程序仍然从plist读取数据,因此如果我手动向其中添加数据,应用程序会在tableview中显示数据。但无法在应用程序上读取或写入它 我使用当前代码 newTitle = [NSString stringWithFormat:@"%d_%@",[Daily_QuoteViewController counter], t]; [plistArray

我当前将数据添加到NSMutableArray,然后从中读取数据以填充UITableview。这在模拟器上运行良好,但在设备上进行测试时却不起作用。应用程序仍然从plist读取数据,因此如果我手动向其中添加数据,应用程序会在tableview中显示数据。但无法在应用程序上读取或写入它

我使用当前代码

newTitle = [NSString stringWithFormat:@"%d_%@",[Daily_QuoteViewController counter], t];
[plistArray addObject:newTitle];
[plistArray writeToFile:filepath atomically: YES];
我已经读到列表也需要序列化,但其他人说这不是必要的

感谢您的帮助


谢谢

您确定您的应用程序对您试图写入plist的位置具有写入权限吗?模拟器上的文件系统访问与实际设备上的文件系统访问之间存在差异

更新:您可以在中阅读有关应用程序可用文件夹的更多信息。中介绍了获取这些文件夹位置的标准方法。以下是如何获取Documents文件夹并构建其中文件的路径的示例:

NSArray *paths = NSSearchPathForDirectoriesInDomains(
                     NSDocumentDirectory,
                     NSUserDomainMask, YES
                 );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL *urla = [NSURL fileURLWithPath:[documentsDirectory
                         stringByAppendingString:@"/myinfo.plist"]];

您将使用哪个应用程序文件夹取决于文件的实际内容和预期用途。

您确定您的应用程序对您试图写入plist的位置具有写入权限吗?模拟器上的文件系统访问与实际设备上的文件系统访问之间存在差异

更新:您可以在中阅读有关应用程序可用文件夹的更多信息。中介绍了获取这些文件夹位置的标准方法。以下是如何获取Documents文件夹并构建其中文件的路径的示例:

NSArray *paths = NSSearchPathForDirectoriesInDomains(
                     NSDocumentDirectory,
                     NSUserDomainMask, YES
                 );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL *urla = [NSURL fileURLWithPath:[documentsDirectory
                         stringByAppendingString:@"/myinfo.plist"]];

您将使用哪个应用程序文件夹取决于文件的实际内容和预期用途。

plist存储在哪个目录中?应用程序捆绑包在设备上不可写。您必须将该文件放在应用程序的Documents目录中。它存储在resources文件夹中。plist存储在哪个目录中?应用程序捆绑包在设备上不可写。你必须将该文件放在应用程序的Documents目录中。它存储在resources文件夹中。我肯定没有。它使用正确的文件路径从plist读取。但在应用程序运行时不会添加任何内容。我如何获得权限?Regardsy除了iOS给你的权限外,你无法获得额外的权限。哦,写入文档目录的路径是什么?Regard她已经给了您NSString*documentsPath=[NSSearchPathForDirectoriesIndomain(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0];如果文件不存在怎么办?它是如何产生的?我肯定我没有。它使用正确的文件路径从plist读取。但在应用程序运行时不会添加任何内容。我如何获得权限?Regardsy除了iOS给你的权限外,你无法获得额外的权限。哦,写入文档目录的路径是什么?Regard她已经给了您NSString*documentsPath=[NSSearchPathForDirectoriesIndomain(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0];如果文件不存在怎么办?它是如何创建的?