Cocoa 本地文件的NSURLTumbnailDictionaryKey为空

Cocoa 本地文件的NSURLTumbnailDictionaryKey为空,cocoa,icloud,nsurl,osx-yosemite,appkit,Cocoa,Icloud,Nsurl,Osx Yosemite,Appkit,我想获得我必须在我的应用程序中显示的文件的缩略图。我在这里使用NSURL: NSDictionary *thumbnails = nil; BOOL success = [fileURL getResourceValue:&thumbnails forKey:NSURLThumbnailDictionaryKey err

我想获得我必须在我的应用程序中显示的文件的缩略图。我在这里使用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];

谢谢是否有任何地方记录了API的行为方式(即getResourceValue仅适用于iCloud中的文件)?我环顾四周,但没有得到任何确认。