无法从Gumtree获取我的共享扩展名中的项目URL

时间:2019-03-28 14:10:38

标签: ios swift xcode ios-sharesheet

我希望能够从Gumtree应用程序中获取商品的网址。 但是,当我在Gumtree应用程序中点击“共享”并点击我的应用程序时,我得到一个public.plain-text类型标识符。
与对Facebook或eBay进行相同操作相比,我可以毫无问题地获取商品URL。好像是Gumtree。

如果我从Gumtree中的“共享表”中点击“消息”,则消息应用程序会显示项目标题和项目URL(这是我希望我的共享扩展名返回的内容),但我只会得到项目标题而没有URL。

enter image description here

这是我的共享扩展Info.plist:

enter image description here

我是否在做某些事情以致无法获取URL?还是Gumtree没有发布正确的信息?

我看过swift share extension not sharing amzon itemios share extension unable to get shared URL from chrome,但没有针对性的解决方案对我有用。

这是我的扩展程序中用于检测typeIdentifier ...

的代码
if let inputItem = extensionContext!.inputItems.first as? NSExtensionItem,
        let itemProvider = inputItem.attachments?.first {

        if itemProvider.hasItemConformingToTypeIdentifier("com.apple.property-list") {
            // Safari
            itemProvider.loadItem(forTypeIdentifier: kUTTypePropertyList as String) { (dict, error) in

                guard error == nil else {
                    // Error Alert
                    return
                }

                let itemDictionary = dict as! NSDictionary
                let javaScriptValues = itemDictionary[NSExtensionJavaScriptPreprocessingResultsKey] as! NSDictionary
                self.processValidURL(shareURL: URL(string: javaScriptValues["URL"]! as! String)!)
            }
        }
        else if itemProvider.hasItemConformingToTypeIdentifier("public.url") {
            // URL / IN-APP
            itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil) { (url, error) in

                guard error == nil else {
                    // Error Alert
                    return
                }

                self.processValidURL(shareURL: url as! URL)
            }
        }

0 个答案:

没有答案