Domain = NSCocoaErrorDomain Code = 513仅在模拟器中

时间:2013-04-19 12:51:33

标签: xcode ipad ios-simulator nsfilemanager

我有一个Ipad应用程序,它从Internet上下载不同的文件。当我使用Xcode Simulator时,这个应用程序很有用。当我在Ipad上尝试应用程序时,我在应用程序的开头有一个错误,并且由于此错误,应用程序无法正常工作。

error creating directory in createPath: Error Domain=NSCocoaErrorDomain Code=513 "The operation couldn’t be completed. (Cocoa error 513.)" UserInfo=0x2d3eb0 {NSFilePath=/var/mobile/Applications/DE851748-0D7A-4416-9B62-8EEEF9B80533/Cache, NSUnderlyingError=0x2cb8e0 "The operation couldn’t be completed. Operation not permitted"}

我创建文件夹的代码:

-(void) createPath{
NSError *error;

[[NSFileManager defaultManager] createDirectoryAtPath:masterFolder
                               withIntermediateDirectories:YES
                                                attributes:nil
                                                     error:&error];
     if (error != nil) {
         NSLog(@"error creating directory in createPath: %@", error);

     }

}

这是我的变量:

masterFolder = [NSHomeDirectory() stringByAppendingPathComponent:@"/Cache/"];

这是我所知道的Code 513的一个老问题,我解释了我到目前为止所做的事情:

  1. 我从模拟器(重置)和Ipad
  2. 手动删除应用程序
  3. 将StringByAppendingString更改为StringByAppendingPathComponent,如:Save UIImage in application path
  4. 我使用了Apple的标准文件夹“Cache”,例如NSFileManager creating folder (Cocoa error 513.)
  5. 是的,我重启了我的Mac;)
  6. 还有更多网站。但我不明白为什么模拟器的工作原理与原来的Ipad不同。还是我监督了什么?!?谢谢!

2 个答案:

答案 0 :(得分:0)

所以,我只是更改我的文件夹,它可以正常工作

masterFolder = [NSHomeDirectory() stringByAppendingPathComponent:@"/Cache/"];

in

masterFolder = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/"];

但为什么呢?我不知道。 在此站点上,您可以看到不同类型文件夹之间的差异 1目录:临时,缓存,文档

答案 1 :(得分:0)

我想知道它是否与文件名的情况有关?

iOS区分大小写且OSX不区分,因此可能会在iOS上没有的模拟器上运行。