2010-08-07 52 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