我正在尝试通过我的应用程序的 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:) 方法似乎永远不会运行,更何况它里面的代码。
有没有人遇到过这个问题?我确定我错过了一些东西,但无法弄清楚。