我正在使用与谷歌Chrome应用程序挂钩的THEOS进行iPhone调整。 部分调整功能是使用ASIHTTPRequest / ASINetworkQueue处理下载和保存文件。 用户可以自由选择和设置下载目的地。 只要我将下载路径设置为“/ tmp”或Google Chrome文档文件夹,这样就可以正常工作。当我尝试选择其他文件夹时,例如“/ var / mobile / Documents /”我没有得到权限错误:
Domain = NSCocoaErrorDomain Code = 513“无法完成操作。(Cocoa错误513.)”UserInfo = 0x1f53e230 {NSFilePath = / var / mobile / Documents,NSUnderlyingError = 0x1f53b3d0“操作无法完成。不允许操作
我查了一下这个错误并尝试了StackExchange上建议的其他答案,但无济于事。
我正在为IOS 6开发,我将这里的答案包含在链接中,以防你们认为我错过了一些东西:
1 - How to make a directory iOS?
2 - iphone create folder outside sandbox
3 - Cydia App Documents Folder Not Created
4 - Gaining root permissions on iOS for NSFileManager (Jailbreak)
最后一个链接是指以root身份运行应用程序以访问非移动目录,但不确定这是否合适,因为我只是对Chrome进行了调整。
我希望有人可以帮助我解决这个问题,或者指出我正确的方向。我正在撕开我的头发。
这是一个用于创建一个对我不起作用的目录的常用代码片段:
NSString* SaveDir = @"/var/mobile/Documents/Test";
NSFileManager* fileManager = [NSFileManager defaultManager];
NSMutableDictionary* attributes = [[NSMutableDictionary alloc] init];
NSNumber* permission = [NSNumber numberWithLong: 0755];
[attributes setObject:permission forKey: NSFilePosixPermissions];
NSError* error = nil;
if (![fileManager createDirectoryAtPath: SaveDir
withIntermediateDirectories: YES
attributes: attributes
error: &error])
{
NSLog(@"Unable to create data directory: %@", error);
}
[attributes release];
提前谢谢你们