我正在查看几个lua / objective-c实现看起来很有希望创建一个项目,但有一个例外,我希望能够在运行时下载脚本。然后我找到了以下条款:
"应用程序可能无法下载或安装可执行代码。如果所有脚本,代码和解释器都打包在应用程序中而未下载,则解释的代码只能在应用程序中使用。上述唯一的例外是由Apple内置的WebKit框架下载和运行的脚本和代码。"
很明显你无法在运行时下载任何lua脚本。 如果我正确解释你只能运行通过UIWebView下载的javascript文件。 所以,如果我想通过uiwebkit(使用stringByEvaluatingJavaScriptFromString和url编码)创建一个objective-c / javascript桥接器,我看不到任何针对苹果的术语的权利吗?你认为这对于性能是否有些过分?
答案 0 :(得分:0)
我没有关于通过UIWebView
执行Javascript的性能的经验,但如果您计划使用细粒度代码调用stringByEvaluatingJavaScriptFromString
,我怀疑收费很高。另一方面,没有任何东西可以阻止您使用所需的所有Javascript代码在UIWebView
中加载完整的HTML,这种方法肯定会确保更好的性能。
实际上,您可以尝试并遵循另一种方法。实际上可以直接将WebKit Javascript引擎(Javascript Core)嵌入到您的应用程序中。这种方法已被Apple“批准”,您可以找到它描述here。 (Dominic Szablewski,JavaScript游戏引擎Impact的创建者,就是完成此任务的人。)
简而言之,它归结为将Javascript Core编译为静态库,然后在您的应用中将其链接。如果您不想自己编译,可以在我发布的链接中找到更多关于如何从Dominic Szablewski许可库的信息。 (我并不是真的在这方面提出任何建议,只是总结一下信息)。