copyItemAtURL:toURL:错误:失败,权限错误

时间:2018-06-05 13:40:35

标签: ios xcode copy icloud

我正在尝试将文件夹(“缓存”)从我的应用程序目录复制到我的iCloud容器。

这适用于模拟器,但在实际设备上,我收到权限错误。

代码:

NSFileManager* fileManager = [NSFileManager defaultManager];
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSURL* documentsDirectory = [[NSURL fileURLWithPath:[paths objectAtIndex:0]] URLByDeletingLastPathComponent];
NSURL* icloudDirectory = [fileManager URLForUbiquityContainerIdentifier:nil];

NSURL* fileUrl;
NSURL* icloudUrl;

NSError* err = nil;

fileUrl = [documentsDirectory URLByAppendingPathComponent:@"Library/Caches"];
icloudUrl = [icloudDirectory URLByAppendingPathComponent:@"Documents/Caches"];

[fileManager copyItemAtURL:fileUrl
                     toURL:icloudUrl
                     error:&err];

错误:

  

错误域= NSCocoaErrorDomain代码= 513“”快照“不可能   因为您没有访问“缓存”的权限而被复制。“   的UserInfo = {NSSourceFilePathErrorKey =的/ var /移动/容器/数据/应用/ 8B75D173-D73F-4F2A-AD89-29751D798BF5 /库/缓存/快照,   NSUserStringVariant =(           复制       ),NSDestinationFilePath = / private / var / mobile / Library / Mobile Documents / iCloud~com~clicksware~ClickMobileCDV / Documents / Caches / Snapshots,   NSFilePath =的/ var /移动/容器/数据/应用/ 8B75D173-D73F-4F2A-AD89-29751D798BF5 /库/缓存/快照,   NSUnderlyingError = 0x1c805dc10 {错误域= NSPOSIXErrorDomain代码= 1   “不允许操作”}}

我可以以某种方式获得许可吗?我尝试使用startAccessingSecurityScopedResource,但它返回false。

谢谢!

0 个答案:

没有答案