我正在尝试将文件夹(“缓存”)从我的应用程序目录复制到我的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 / mobile / Containers / Data / Application / 8B75D173-D73F-4F2A-AD89-29751D798BF5 / Library / Caches / Snapshots,NSUserStringVariant =(Copy),NSDestinationFilePath = / private / var / mobile / Library / Mobile Documents / iCloud~com~clicksware~ClickMobileCDV / Documents / Caches / Snapshots,NSFilePath = / var / mobile / Containers / Data / Application / 8B75D173-D73F-4F2A-AD89-29751D798BF5 / Library / Caches / Snapshots,NSUnderlyingError = 0x1c805dc10 }

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

谢谢!