我正在尝试将文件夹(“缓存”)从我的应用程序目录复制到我的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。
谢谢!