刚刚为我的应用添加了分享扩展程序。 它在野生动物园中运作良好。 从Chrome启动它时," ExtensionPreprocessingJS.js"没有被召唤。 因此,不会调用以下代码:
{{1}}
请告知。
答案 0 :(得分:1)
该行为被记录为Safari选项,而不是适用于每个Web浏览器的内容。
在共享扩展程序(在两个平台上)和动作扩展程序(仅限iOS)中,您可以通过要求Safari 运行JavaScript文件并将结果返回到扩展程序来授予用户访问网站内容的权限。
[强调我的]
答案 1 :(得分:0)
尝试将/替换/添加到您的info.plist扩展名
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsText</key>
<true/>
<key>NSExtensionActivationSupportsWebPageWithMaxCount</key>
<integer>1</integer>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>1</integer>
</dict>
<key>NSExtensionJavaScriptPreprocessingFile</key>
<string>DemoPreprocessor</string>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
</dict>
答案 2 :(得分:-1)
不需要那些复杂的东西。这适用于Google Chrome和Safari:
override func viewDidLoad() {
super.viewDidLoad()
for item in extensionContext!.inputItems {
if let attachments = item.attachments {
for itemProvider in attachments! {
itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (object, error) -> Void in
if object != nil {
println(object) //This is your URL
}
})
}
}
}
}