我在iOS 8应用程序中设置了一个共享扩展程序,一切正常。我可以从Photo app或Safari分享。但是当我在Safari中时,我不知道如何获取生成的网页缩略图。我已经注册了适当的NSExtensionActivationRule。当我从Photo应用程序共享照片时,NSItemProvider对象类型表示它是public.jpeg并且我可以使用
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error)
{
[self.extensionContext completeRequestReturningItems:@[] completionHandler:nil];
}];
以获取图像
但是当我从Safari分享时,NSItemProvider类型说它是public.url,我不知道如何获取图像?我知道如何获取url,通过执行loadItemForTypeIdentifier:@" public.url"但是如何获得图像?
答案 0 :(得分:0)
在共享扩展程序中,您可以设置一个javascript预处理器来访问该网页,并返回预览图像等信息。
有关设置js预处理器的详细信息,请访问: https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW12
答案 1 :(得分:-1)
我可以在共享网页时获取生成的缩略图,但无法修改其大小。
要在Safari上共享时在共享扩展程序上自动生成图像,请使用 loadPreviewImageWithOptions:completionHandler:previewImageHandler。
[itemProvider loadPreviewImageWithOptions:nil completionHandler:^(UIImage *image, NSError *error){
if(image){
//do anything here with the image
}
}
我能够在Safari上共享时检索自动生成的缩略图,但我无法使用以下方式更改图像的大小:
NSString * const NSItemProviderPreferredImageSizeKey;
参考:https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSItemProvider_Class/
请查看并查看是否可以帮助您。