在 ios 中从 iCloud 获取文件时出错
Posted
技术标签:
【中文标题】在 ios 中从 iCloud 获取文件时出错【英文标题】:Error in get file from iCloud in ios 【发布时间】:2015-08-31 06:41:32 【问题描述】:嗨,在我的应用程序中,我必须从 iCloud 获取文件。我启用 iCloud 在模拟器中一切正常。但是当我在 iPhone 中测试时,当我选择默认委托调用时,我可以看到 iCloud 文件,但我不能t 从 url 获取数据..
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url
NSData *pdfData = [[NSData alloc] initWithContentsOfURL:url];
我总是得到pdfData
为零。我记录错误
Error Domain=NSCocoaErrorDomain Code=257 "The operation couldn’t be completed. (Cocoa error 257.)" UserInfo=0x17029810 NSFilePath=/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/download (2).jpeg, NSUnderlyingError=0x15ea9680 "The operation couldn’t be completed. Operation not permitted"
我不知道..你能帮我解决这个问题吗..
【问题讨论】:
【参考方案1】:最后我自己找到了答案.. 参考这个链接Here
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url
[url startAccessingSecurityScopedResource];
__block NSData *pdfData = nil;
NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] init];
__block NSError *error;
[coordinator coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL *newURL)
pdfData = [NSData dataWithContentsOfURL:newURL];
];
[url stopAccessingSecurityScopedResource];
【讨论】:
以上是关于在 ios 中从 iCloud 获取文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
无法从 UIDocumentPickerViewController ios swift 获取 .doc 文件
在 vuejs 应用程序中从 axios 获取数据时出错 [重复]