2010-08-07 54 views
8

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

有没有简单的方法可以做到这一点?我期待静态库可以链接到我的iOS应用程序项目。我试图将JSC嵌入到游戏脚本引擎中。

回答

1

我分叉了phoboslab's repo并将其更新为WebKit的最新版本(截至上周五)。它与iOS 5和6兼容,包括iOS 7中的Objective-C to Javascript桥梁(不使用私有框架或功能)。

您可以在GitHub上回购: https://github.com/darionco/JavaScriptCore-iOS

我还添加了一个ZIP文件,包含库(.a)中,需要头文件为了方便回购。

干杯!

+1

只需注意:JavaScriptCore是iOS7公共框架的一部分。我认为这仍然是兼容性的好选择。 – Eonil 2013-09-04 01:55:29

+1

另外值得注意的是:Apple不会接受绑定到iOS 5/6上可用的新JavascriptCore框架的应用程序,所以如果你有一个需要向后兼容的iOS应用程序,这种方法是必需的。谢谢@Dario! – 2013-10-24 12:19:17

+0

说得过早 - 这种构建方式很好,但是在构建过程中,在遵循项目GitHub页面上的指导之后,我得到了经典的“架构armv7的未定义符号”错误。任何想法,乡亲? – 2013-10-24 18:43:42

2

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

+1

我对此进行了投票,而不是选择正确的答案,因为我决定使用其他脚本引擎,因此目前很难抽出时间对其进行测试。我希望这种方式的工作,并感谢您的建议:) – Eonil 2010-12-04 05:04:46

+0

瑞安,是否可以添加更多关于您的构建过程的细节?我也想尝试一下,但我不知道项目设置中需要更改什么。 – phi 2011-04-11 15:19:00

+0

你在@Eonil上做了什么决定? – 2011-07-28 09:49:53