【问题标题】:Use Dynamic Javascript in iOS Share Extension在 iOS 共享扩展中使用动态 Javascript
【发布时间】:2015-03-30 08:07:49
【问题描述】:
我正在为 iOS 8 开发一个共享扩展,看起来我可以在页面上运行 javascript 代码来获取一些信息,比如法师的标记
但在苹果文档上它说 javascript 代码必须在 .js 文件中,但我的 javascript 代码来自服务器并且它是动态的。
是否可以运行我从服务器下载的 javascript,或者我可以在每次需要使用时更改 js 文件内容?
【问题讨论】:
标签:
ios
ios8
ios-app-extension
ios8-share-extension
【解决方案1】:
您无法使用当前共享扩展系统中的内置支持来执行此操作。
Javascript 文件需要在扩展的Info.plist 中按名称列出,在NSExtensionJavaScriptPreprocessingFile 键的值中。名为那里的文件需要存在于应用程序扩展的包中。但是捆绑包不可写,因此您无法替换或更改文件。
如果您满足以下条件,您可能能够做您描述的事情:
- 包含一个基本的 JS 文件,它只将整个页面源返回到您的扩展程序。
- 使用
JavaScriptCore.framework 在您的扩展程序中进一步处理该数据。
我不知道为什么这不起作用,但我没有尝试过,这有点不寻常。不过,考虑到您的需求,还是值得研究的。