Ios 在ShareExtension中访问网站URL和标题

Ios 在ShareExtension中访问网站URL和标题,ios,swift,share-extension,Ios,Swift,Share Extension,我正在尝试通过我的应用程序的ShareExtension访问用户当前所在页面的url和标题 设置完所有内容后,我似乎无法运行completionHandler中的代码 if let item = extensionContext?.inputItems.first as? NSExtensionItem { if let attachments = item.attachments as? [NSItemProvider] { for a

我正在尝试通过我的应用程序的ShareExtension访问用户当前所在页面的url和标题

设置完所有内容后,我似乎无法运行completionHandler中的代码

        if let item = extensionContext?.inputItems.first as? NSExtensionItem {
        if let attachments = item.attachments as? [NSItemProvider] {

            for attachment: NSItemProvider in attachments {

                print(attachment)

                    attachment.loadItem(forTypeIdentifier: kUTTypePropertyList as String, options: nil, completionHandler: {(dict, error) in


                        let itemDictionary = dict as! NSDictionary
                        let javaScriptValues = itemDictionary[NSExtensionJavaScriptPreprocessingResultsKey] as! NSDictionary
                        print(javaScriptValues)
                    })

            }
        }
    }
深入研究后,我知道代码执行到for循环为止。附件的类型为PropertyList

但是loadItem(forIdentifier:options:completionHandler:)方法似乎从未运行过,其中的代码更是如此


有人遇到过这个问题吗?我确信我遗漏了一些东西,但无法找到它。

将“loadItem”更改为“loadItemAsync”,并以这种方式运行它。我遇到了完全相同的问题,完成块没有运行,但当我调用“loadItemAsync”而不是“loadItem”时,它运行良好,我从JS文件中获得了所有输出。

附件中有多少项?@brandonscript数组中只有一项,com.apple.property-listOh,我明白了。我想知道这是否与你有关?也许它不是正确的类型标识符?很好,谢谢,我会试试其他的。虽然我不确定NSItemProvider是否应该是plistI,但我没有看到loadItemAsync方法,我是否遗漏了什么?