iOS模拟器认为文档目录是/ var / root / Documents

时间:2011-07-11 20:53:59

标签: iphone objective-c ios xcode ios-simulator

我正在尝试读取Documents目录中模拟器中的所有文件,但是我得到一个Cocoa错误260.当我记录[self applicationDocumentsDirectory]时,它表示/ var / root / Documents。有人知道为什么会这样吗?它只发生在我从命令行运行时。当在模拟器中运行时,代码正确地输出模拟器的正确文档文件夹。

UPDATE 我现在看到了“file:// localhost / Users / MyUserName / Documents”的路径。太奇怪了......

- (NSString *)applicationDocumentsDirectory
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

1 个答案:

答案 0 :(得分:3)

修复了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;
}