Ios 在iPhone和simulator上保存文件的行为不同

Ios 在iPhone和simulator上保存文件的行为不同,ios,objective-c,Ios,Objective C,在模拟器上,它将记录“是”。当部署到我的iPhone时,它会记录No。有人知道为什么会这样以及如何修复它吗?提前感谢。您不允许写入自己的应用程序包。(这也是一件好事!修改自己的应用程序将是一件可怕的事情。)写入沙箱(例如,文档文件夹或应用程序支持文件夹)。对此不是100%确定,但我认为您正在尝试写入捆绑包,而不是文档或临时目录。iOS禁止这样做,但可能只是在实际设备上强制这样做。以下是我对写的好地方以及如何获取它们的引用的解释: -(void) saveJsonToFile { //Or

在模拟器上,它将记录“是”。当部署到我的iPhone时,它会记录No。有人知道为什么会这样以及如何修复它吗?提前感谢。

您不允许写入自己的应用程序包。(这也是一件好事!修改自己的应用程序将是一件可怕的事情。)写入沙箱(例如,文档文件夹或应用程序支持文件夹)。

对此不是100%确定,但我认为您正在尝试写入捆绑包,而不是文档或临时目录。iOS禁止这样做,但可能只是在实际设备上强制这样做。以下是我对写的好地方以及如何获取它们的引用的解释:
-(void) saveJsonToFile {
    //Original document from Resources folder
    NSString* saveFilePath = [[NSBundle mainBundle]pathForResource:@"data" ofType:@"json"];
    //NSLog(@"Saving...%@", saveFilePath);
    NSData* jsonData = [NSKeyedArchiver archivedDataWithRootObject:myArray];

    BOOL success = [jsonData writeToFile:saveFilePath atomically:YES];
    NSLog(success ? @"Yes" : @"No");
}