我正在尝试读取 Documents 目录中模拟器中的所有文件,但出现 Cocoa 错误 260。当我登录 [self applicationDocumentsDirectory]
时,它显示/var/root/Documents。有谁知道为什么会发生这种情况?它仅在我从命令行运行时发生。在模拟器本身中运行时,代码正确输出模拟器的正确文档文件夹。
更新我现在看到“file://localhost/Users/MyUserName/Documents”的路径。太奇怪了...
- (NSString *)applicationDocumentsDirectory
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
return basePath;
}
最佳答案
修复方法是 chmod -R 777 "/Users/MyUserName/Documents"然后将我的方法更改为:
- (NSString *)applicationDocumentsDirectory
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
if (![[NSFileManager defaultManager] createDirectoryAtPath:basePath withIntermediateDirectories:YES attributes:nil error:NULL])
{
NSLog(@"Error: Create documents folder failed %@", basePath);
}
return basePath;
}
关于iphone - iOS 模拟器认为文档目录是/var/root/Documents,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6656425/