2017-09-24 138 views
4

檢索IMAGEURL我試圖下載iOS份額擴展使用在action sheet生成的縮略圖imageURL從共享擴展

我檢索URL罰款,但似乎無法弄清楚如何獲得imageURL

這裏是我得到正常的URL

if let item = extensionContext?.inputItems.first as? NSExtensionItem { 
     if let itemProvider = item.attachments?.first as? NSItemProvider {  
      if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeItem as String) { 
       itemProvider.loadItem(forTypeIdentifier: kUTTypeItem as String, options: nil, completionHandler: { (url, error) -> Void in 
        if let shareURL = url as? NSURL { 

         let components = URLComponents(url:shareURL as URL, resolvingAgainstBaseURL: true) 
         if let host = components?.host { self.shareTitle = host } 
         self.shareURL = shareURL.absoluteString!        
         self.POSTShareData(completion: nil) 
        } 
        self.extensionContext?.completeRequest(returningItems: [], completionHandler:nil) 
       }) 
      } 
     } 
    } 

我曾試圖改變typeIdentifierkUTTypeImage無濟於事。我有我的info.plist設置爲NSExtensionActivationRuleTRUEPREDICATE,看看有什麼我可以檢索。我想也許我必須在.plist更明確?

我指定的iOS 9.3

+0

@salman Ghumsani,我不想下載的圖片我只想份額擴展使用的URL。在您提供的鏈接中,我看不到他是如何檢索網址的。 – Ro4ch

+0

我不確定這是可以實現的。我相信NSItemProvider的'previewImageHandler'可以返回一個URL或者一個Data對象,並且這些內部使用來呈現一個縮略圖,但在技術上並不是共享有效載荷的一部分,因此不能用於共享擴展。 – Palpatim

+0

我想你可以URL轉換爲字符串,然後可以在拆分串/並進一步可以拆分與每個索引。通過使用也許你將能夠得到在URL中使用的擴展。 –

回答

0

一種解決方法是,你可以存儲在普通UserDefaults

如該URL鏈接: - 讓默認= UserDefaults(suiteName: 「group.com.common.Notification」)

然後在應用程序內或擴展訪問