Xcode7運(yùn)行項(xiàng)目時(shí)出現(xiàn)了如下的錯誤:
does not contain 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. for architecture armv7
關(guān)于什么bitcode的錯誤被因,那bitcode是個(gè)什么鬼呢盅视?
什么是 bitcode 涕滋?
通俗解釋:在線版安卓ART模式。
Apple 官方文檔-- App Distribution Guide – App Thinning (iOS, watchOS) 是這樣定義的: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ū)?App Store 上被編譯和鏈接。 bitcode 允許蘋果在后期重新優(yōu)化我們程序的二進(jìn)制文件,而不需要我們重新提交一個(gè)新的版本到 App Store 上静袖。
在 Xcode簡介--- What’s New in Xcode-New Features in Xcode 7 中這樣描述:
Bitcode. When you archive for submission to the App Store, Xcode will compile your app into an intermediate representation. The App Store will then compile the bitcode down into the 64 or 32 bit executables as necessary.
也就是當(dāng)我們提交程序到 App Store上時(shí), Xcode 會將程序編譯為一個(gè)中間表現(xiàn)形式( bitcode )俊扭。然后 App store 會再將這個(gè) bitcode 編譯為可執(zhí)行的64位或32位程序队橙。
請看這里 :http://blog.csdn.net/soindy/article/details/48518717
如果你的應(yīng)用也準(zhǔn)備啟用 Bitcode 編譯機(jī)制,就需要注意以下幾點(diǎn):
- Xcode 7默認(rèn)開啟 Bitcode ,如果應(yīng)用開啟 Bitcode捐康,那么其集成的其他第三方庫也需要是 Bitcode編譯的包才能真正進(jìn)行 Bitcode 編譯
- 開啟 Bitcode 編譯后仇矾,編譯產(chǎn)生的 .app 體積會變大(中間代碼,不是用戶下載的包)解总,且 .dSYM文件不能用來崩潰日志的符號化(用戶下載的包是 Apple 服務(wù)重新編譯產(chǎn)生的贮匕,有產(chǎn)生新的符號文件)
- 通過 Archive 方式上傳 AppStore 的包,可以在Xcode的Organizer工具中下載對應(yīng)安裝包的新的符號文件
出現(xiàn)的問題原因是什么呢倾鲫?
原來是某些二進(jìn)制庫不支持bitcode.而Xcode默認(rèn)是要支持bitcode的,而且如果支持的話,其中所有的二進(jìn)制庫和framework都必須包含bitcode.
怎么樣解決呢粗合?
我們可以直接將bitcode直接關(guān)掉就可以了。target ---> Built Seeting --->搜索 bitcode? --->將Yes置為No
如圖所示: