我正在使用连接到 Google 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 -如何制作iOS目录?
2 - iphone在沙箱外创建文件夹
4 -在 iOS 上为 NSFileManager 获得 root 权限(越狱)
最后一个链接是指以 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];
提前谢谢你们