Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为iOS设备构建JavaScriptCore?_Javascript_Ios_Embedding - Fatal编程技术网

如何为iOS设备构建JavaScriptCore?

如何为iOS设备构建JavaScriptCore?,javascript,ios,embedding,Javascript,Ios,Embedding,我已经下载了Webkit每晚构建。我打开JavaScriptCore并构建了它。编译没有任何错误。但输出是一个只包含OSX二进制文件的框架。我尝试取消选中“仅构建活动体系结构”,但仅构建桌面体系结构。(我用lipo工具查看二进制文件) 有什么简单的方法可以做到这一点吗?我希望静态库可以链接到我的iOS应用程序项目。我正在尝试将JSC作为游戏脚本引擎嵌入。看起来有一个JavaScriptCore的XCode项目,它是WebKit代码库的一部分。我能够将目标SDK更改为iOS,将目标体系结构更改为a

我已经下载了Webkit每晚构建。我打开JavaScriptCore并构建了它。编译没有任何错误。但输出是一个只包含OSX二进制文件的框架。我尝试取消选中“仅构建活动体系结构”,但仅构建桌面体系结构。(我用lipo工具查看二进制文件)


有什么简单的方法可以做到这一点吗?我希望静态库可以链接到我的iOS应用程序项目。我正在尝试将JSC作为游戏脚本引擎嵌入。

看起来有一个JavaScriptCore的XCode项目,它是WebKit代码库的一部分。我能够将目标SDK更改为iOS,将目标体系结构更改为arm6/arm7,并且动态框架构建得很好。当然,您需要将其编译为静态库,因此您需要为iOS创建一个新的静态库目标,并将Targets->JavaScriptCore下的所有内容复制到新的静态库目标中。这可能有点棘手,但可能会奏效。

我从WebKit(截至上周五)将其更新为最新版本。它与iOS 5和iOS 6兼容,并包括iOS 7中的Objective-C到Javascript桥(未使用私有框架或函数)

您可以在GitHub上找到回购协议,网址为:

为了方便起见,我还向repo添加了一个ZIP文件,其中包含库(.a)和所需的头文件


干杯

我投票支持这一点,而不是选择正确答案,因为我决定使用另一个脚本引擎,所以目前很难抽出时间来测试这一点。我希望这种方法能起作用,谢谢你的建议:)Ryan,可以添加关于构建过程的更多细节吗?我也想尝试一下,但我不知道项目设置中需要更改什么。您对@Eonil的决定是什么?@David我切换到了
Lua
。这显然是更好的选择。@Eonil,很有趣,谢谢你提供的信息。您必须自己绑定到Lua的本机绘图调用吗?或者您是否使用一些现有的库?请注意:JavaScriptCore是iOS7公共框架的一部分。我认为这仍然是一个很好的兼容性选择。另外值得注意的是:苹果不会接受绑定到新JavascriptCore框架的应用程序,而新JavascriptCore框架将在iOS 5/6上提供,因此,如果你有需要向后兼容的iOS应用程序,则需要这种方法。谢谢,达里奥!说得太早了-这个构建很好,但是在遵循项目GitHub页面上的指导之后,我在构建过程中遇到了经典的“未定义的架构符号armv7”错误。有什么想法吗,伙计们?有两件事,一个目标将不同的目标组合成一个多片二进制文件,回购协议的自述文件中有一些关于如何实现这一点的构建说明。另一种可能是,我没有包括新的64位目标(在我创建此目标时它不可用),因此您必须将其添加到项目中。此外,Yavor Georgiev花了时间对fork进行了大幅改进: