Невозможно получить URL-адрес элемента в моем расширении общего доступа от Gumtree - PullRequest
0 голосов
/ 28 марта 2019

Я хочу получить URL-адрес элемента из приложения Gumtree. Однако, когда я нажимаю «Поделиться» в приложении Gumtree и нажимаю на мое приложение, я получаю идентификатор типа public.plain-text.
По сравнению с Facebook или eBay, я могу получить URL элемента без проблем. Похоже, это Гамтри.

Если я нажимаю «Сообщение» на «листе общего доступа» в Gumtree, приложение «Сообщения» отображает заголовок элемента и URL элемента (именно так я и хочу, чтобы мое расширение общего ресурса возвращалось), но вместо этого я просто получаю заголовок элемента и никакого URL.

enter image description here

Вот моя доля extsnsion Info.plist:

enter image description here

Есть ли что-то, что я делаю неправильно, чтобы не получить URL? Или Gumtree не передает правильную информацию?

Я смотрел на расширение общего ресурса swift без общего доступа к элементу amzon и расширение общего ресурса ios не может получить общий URL-адрес из 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)
            }
        }
...