如何构建iOS设备的JavaScriptCore?
问题描述:
我已经下载了Webkit每晚构建。我打开JavaScriptCore并构建它。编译完成没有任何错误。但输出是一个框架只包含OS X二进制文件。我试图取消选中“仅构建活动架构”,但只构建了桌面架构。 (我用lipo工具查看二进制文件)如何构建iOS设备的JavaScriptCore?
有没有简单的方法可以做到这一点?我期待静态库可以链接到我的iOS应用程序项目。我试图将JSC嵌入到游戏脚本引擎中。
答
我分叉了phoboslab's repo并将其更新为WebKit的最新版本(截至上周五)。它与iOS 5和6兼容,包括iOS 7中的Objective-C to Javascript桥梁(不使用私有框架或功能)。
您可以在GitHub上回购: https://github.com/darionco/JavaScriptCore-iOS
我还添加了一个ZIP文件,包含库(.a)中,需要头文件为了方便回购。
干杯!
答
它看起来有一个JavaScriptCore的XCode项目,它是WebKit代码库的一部分。我能够将目标SDK更改为iOS,将目标架构更改为arm6/arm7,并且构建的动态框架正常。当然,您需要将它编译为静态库,因此您需要为iOS创建一个新的静态库目标,并将目标 - > JavaScriptCore中的所有内容复制到新的静态库目标中。这可能有点棘手,但它可能会起作用。
只需注意:JavaScriptCore是iOS7公共框架的一部分。我认为这仍然是兼容性的好选择。 – Eonil 2013-09-04 01:55:29
另外值得注意的是:Apple不会接受绑定到iOS 5/6上可用的新JavascriptCore框架的应用程序,所以如果你有一个需要向后兼容的iOS应用程序,这种方法是必需的。谢谢@Dario! – 2013-10-24 12:19:17
说得过早 - 这种构建方式很好,但是在构建过程中,在遵循项目GitHub页面上的指导之后,我得到了经典的“架构armv7的未定义符号”错误。任何想法,乡亲? – 2013-10-24 18:43:42