我想获取必须在我的应用程序中显示的文件的缩略图。我在这里使用 NSURL:
NSDictionary *thumbnails = nil;
BOOL success = [fileURL getResourceValue:&thumbnails
forKey:NSURLThumbnailDictionaryKey
error: &error];
如果我连接到 iCloud,并且 URL 是指向存储在 iCloud 中的文件的链接,则效果很好。文件 URL 类似于:
file:///Users/me/Library/Mobile%20Documents/BJXXGLR9R3~com~myapp~icloud/FileStorage/contact-page%20copy.png
但是,如果我使用相同的代码和指向本地文件的 NSURL,则缩略图字典为空。
以下是本例中的 URL 示例:
file:///Users/me/Library/Containers/com.mycompany.mymacapp/Data/Library/Application%20Support/com.mycompany.mymacapp/FileStorage/Bn4VaCnCUAEJjLb.png-large.png
getResourceValue 的这个 API 不应该与本地存储的文件一起使用吗?或者我做错了什么?
这是 API 的一部分。此外,在处理来自 iCloud 的文件时,您应该使用文件协调器:
[url startAccessingSecurityScopedResource];
NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] init];
__block NSError *error;
[coordinator coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL *newURL) {
[newURL getResourceValue:&image forKey:NSURLThumbnailDictionaryKey error:&error];
}];
[url stopAccessingSecurityScopedResource];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)