2014-10-17 68 views
5

我在iOS 8應用程序中設置了一個共享擴展,並且一切正常。我可以從照片應用程序或從Safari分享。但是當我在Safari中時,我不知道如何獲取網頁的生成縮略圖。我已經註冊了適當的NSExtensionActivationRule。當我分享照片的應用程序中的照片時,NSItemProvider對象類型說,這是public.jpeg,我能夠用iOS 8 Share Extension Safari Image

[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error) 
{ 
     [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; 
}]; 

,以獲得圖像

但是,當我從Safari瀏覽器共享, NSItemProvider類型表示它是public.url,我不知道如何獲取圖像?我知道如何通過執行loadItemForTypeIdentifier來獲取url:@「public.url」,但是如何獲取圖像?

+2

哇,我猜這樣做的人不多 – Jesse 2014-10-17 20:18:04

回答

-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/

做檢查,看看是否可以幫助你。

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/評論/低質量帖/ 10777805) – Magisch 2016-01-05 07:10:09

+0

編輯後,感謝指出。 – Daryl 2016-01-05 07:26:21

+0

圖像始終爲零 – jjxtra 2016-08-18 11:12:16