writeToFile在模拟器上工作,但不在设备上

idd*_*ber 3 iphone plist ios-simulator

我有一个我正在改变的plist:

NSString *finalPath = [path stringByAppendingPathComponent:@"KeyFrameFileByMovie.plist"];
NSMutableDictionary *keyFrameFileByMovie = [[NSMutableDictionary alloc] initWithContentsOfFile:finalPath];
[keyFrameFileByMovie setValue:keyFrameName forKey:movieName];
BOOL isOk = [keyFrameFileByMovie writeToFile:finalPath atomically:YES];
Run Code Online (Sandbox Code Playgroud)

在模拟器上isOk为1,设备isOK为0

我不认为这是一个案例敏感问题,因为我有一个有效的代码:

NSString *finalPath = [path stringByAppendingPathComponent:@"KeyFrameFileByMovie.plist"];<br>
NSDictionary *plistData =[[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
Run Code Online (Sandbox Code Playgroud)

为什么writeToFile在设备上失败?

小智 6

iPhone应用程序有非常严格的目录结构.不幸的是,设备与模拟器的权限是不同的.所以这里唯一的问题可能是你没有保存在Documents目录中,而是保存在MainBundle目录中.

在上面的例子中,路径值是多少?