2017-09-24 4 views
4

Ich versuche, die imageURL die ios Freigabe Erweiterung verwendet für die Miniaturansicht in der action sheet erzeugt zu erhalten.Abrufen von imageURL von der Freigabeerweiterung

Ich erhalte die URL gut, aber kann nicht scheinen, herauszufinden, wie man die imageURL bekommen.

Hier ist, wie ich die normale URL bekommen,

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) 
       }) 
      } 
     } 
    } 

ich versucht habe, die typeIdentifier zu kUTTypeImage ohne Erfolg zu ändern. Ich habe meine auf NSExtensionActivationRule auf TRUEPREDICATE eingestellt, um zu sehen, was ich abrufen kann. Ich denke, vielleicht muss ich expliziter sein in der .plist?

Ich bin Targeting iOS 9.3

+0

@salman Ghumsani, ich will nicht das Bild zum Download ich möchte nur die URL der Anteil Erweiterung verwendet. In dem von Ihnen angegebenen Link sehe ich nicht, wie er die URL abgerufen hat. – Ro4ch

+0

Ich bin mir nicht sicher, ob das erreichbar ist. Ich glaube, dass der 'previewImageHandler' des NSItemProviders entweder eine URL oder ein Data-Objekt zurückgeben kann, und diese werden intern zur Darstellung eines Thumbnails verwendet, sind aber technisch nicht Teil der Shared-Payload und daher für eine Share-Erweiterung nicht verfügbar. – Palpatim

+0

ich denke, dass Sie URL in Zeichenfolge konvertieren können und dann Zeichenfolge bei/und weiter teilen können Sie jeden Index mit. vielleicht werden Sie in der Lage sein, die in der URL verwendeten Erweiterungen zu erhalten. –

Antwort

0

Eine Abhilfe ist, dass Sie diese URL-Link gemeinsam UserDefaults speichern kann

zB: - defaults = UserDefaults lassen (suiteName: "group.com.common.Notification")

zugreifen es dann in-App oder Erweiterung

Verwandte Themen