2017-09-24 141 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”)

然后在应用程序内或扩展访问