Xcode7真機(jī)測試的問題

問題:? ? Xcode升級到7以后正常調(diào)試是沒有問題的,但是在Archive的時候會出現(xiàn)一個包含標(biāo)題的提示行錯誤

“(null): URGENT: all bitcode will be dropped because ‘xxxx’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. Note: This will be an error in the future.”

從上面的錯誤可以看出,這是因為一個第三方的庫不兼容,工程中開啟了ENABLE_BITCODE(升級之后自動轉(zhuǎn)換的),這個第三方庫在編譯的時候是沒有ENABLE_BITCODE。

解決方法

1:直接換成enable bitcode的第三方庫;

2:將工程中的ENABLE_BITCODE設(shè)置成false就可以了,如下圖所示


下面是一些關(guān)于bitcode的介紹

1.對于bitcode的官方解釋是

Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store.

說的是bitcode是被編譯程序的一種中間形式的代碼。包含bitcode配置的程序?qū)贏pp store上被編譯和鏈接。bitcode允許蘋果在后期重新優(yōu)化程序的二進(jìn)制文件,而不需要重新提交一個新的版本到App store上。

當(dāng)提交程序到App store上時,Xcode會將程序編譯為一個中間表現(xiàn)形式(bitcode)。然后App store會再將這個botcode編譯為可執(zhí)行的64位或32位程序。再看看這兩段描述,都是放在App Thinning(App瘦身)一節(jié)中,可以看出其與包的優(yōu)化有關(guān)了。

2.實際上,在Xcode 7中,我們新建一個iOS程序時,bitcode選項默認(rèn)是設(shè)置為YES的。我們可以在”Build Settings”->”Enable Bitcode”選項中看到這個設(shè)置。不過,我們現(xiàn)在需要考慮的是三個平臺:iOS,Mac OS,watchOS。

對于iOS,bitcode是可選的;對于watchOS,bitcode是必須的;而Mac OS是不支持bitcode。

所以,如果我們的工程需要支持bitcode,則必要要求所有引入的第三方庫都支持bitcode。

通過本文對bitcode的概念及配置情況的簡要介紹,希望iOS開發(fā)人員在工程運行中遇到類似的情況,可以根據(jù)上文的介紹更有效的找到原因并及時處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容