我想通过每个应用程序中的操作扩展来获取 url,而不仅仅是 safari。例如,在 twitter.app 中,当您长按链接时,共享表会打开,并且扩展程序可以使用该 url。如果可能的话,我想在没有 javascript 文件的情况下这样做。
目前我正在使用 js 文件来获取 safari 中的 url,这很有效,但在 twitter 等其他应用程序中,只出现黑屏。
let extensionItem = extensionContext?.inputItems.first as! NSExtensionItem
let itemProvider = extensionItem.attachments?.first as! NSItemProvider
let propertyList = String(kUTTypePropertyList)
if itemProvider.hasItemConformingToTypeIdentifier(propertyList) {
itemProvider.loadItemForTypeIdentifier(propertyList, options: nil, completionHandler: { (item, error) -> Void in
let dictionary = item as! NSDictionary
NSOperationQueue.mainQueue().addOperationWithBlock {
let results = dictionary[NSExtensionJavaScriptPreprocessingResultsKey] as! NSDictionary
let urlString = results["currentUrl"] as? String
self.url = NSURL(string: urlString!)
print(self.url)
}
})
} else {
print("error")
}
我想通过每个应用程序中的共享表获取 url,而不需要 javascript 文件。
提前致谢