Ios iphone写入文件失败

Ios iphone写入文件失败,ios,objective-c,iphone,xcode,storage,Ios,Objective C,Iphone,Xcode,Storage,我正在将一些数据写入plist文件,但它在设备上失败,但在模拟器中没有。我迷路了,不知道到哪里去找解决办法 这是我的代码: NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; [dict setObject:nameField.text forKey:@"name"]; [dict setObject:emailField.text forKey:@"email"]; BOOL ret = [dict writeToFi

我正在将一些数据写入plist文件,但它在设备上失败,但在模拟器中没有。我迷路了,不知道到哪里去找解决办法

这是我的代码:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:nameField.text forKey:@"name"];
[dict setObject:emailField.text forKey:@"email"];
BOOL ret = [dict writeToFile:[[NSString alloc] initWithString:[[NSBundle mainBundle] pathForResource:@"settings" ofType:@"plist"]] atomically:YES];
NSLog(@"%d",ret);
[dict release];
该日志在设备上返回0,但在模拟器中返回1


有人能帮我吗?

你为什么要在资源目录中写东西?是否已选中?

此操作在设备上失败,因为您无法写入应用程序的捆绑文件夹,只能写入/tmp、文档和缓存文件夹。如果用户能够修改捆绑包,应用程序的数字签名将不再有效,并且没有人能够从应用程序商店可靠地获取完整的应用程序并运行它

但是,这在模拟器上是有效的,因为您的操作系统将允许您在主文件夹中的几乎任何位置进行写入,包括应用程序包文件夹。OSX功能的限制方式与iOS的限制方式不同

这是iOS安全性的一部分。解决办法是