我正在创建一个 Finder 共享扩展名,以便在选择文件时使用。我想显示您正在共享的文件的图像预览(例如,就像您在消息和 Twitter Finder 共享扩展中看到的那样)。
在我的共享扩展的视图控制器的 loadView 方法中,我这样做:
let item = self.extensionContext!.inputItems[0] as! NSExtensionItem
if let attachments = item.attachments as? [NSItemProvider] {
if let attachment = attachments.first {
attachment.loadPreviewImage(options: nil, completionHandler: { (item, error) in
if error != nil {
//handle error...
} else if let img = item as? NSImage {
//put image preview in my "share sheet"...
}
})
}
}
问题是当我不断遇到错误情况时。我得到的错误是:
错误域=NSItemProviderErrorDomain 代码=-1000“无法加载预览。” UserInfo={NSLocalizedDescription=无法加载预览。}
对于它的价值,我能够成功调用 attachment.loadItem() 并使用该文件。但我现在并不关心对文件本身做任何事情,我只想要一个代表文件的缩略图,理论上这种方法应该给我......
有任何想法吗?