天天看點

ios9 Xcode7後運作以前的項目後出現大量的警告如:

今天Xcode更新7.3後 運作了一下突然出現了好多警告,吓我一跳

ios9 Xcode7後運作以前的項目後出現大量的警告如:

研究了好久,有潔癖的我反正是不能忍,出現警告的大緻原因跟我上面提到的開啟Bitcode,.dSYM檔案不能用來符号化有關,Xcode試圖去建立dSYM檔案,但是你又不需要。

首先我們來說一下BitCode 是個什麼東西

Bitcode:開啟Bitcode編譯後,可以使得開發者上傳App時隻需上傳Intermediate Representation(中間件),而非最終的可執行二進制檔案。 在使用者下載下傳App之前,AppStore會自動編譯中間件,産生裝置所需的執行檔案供使用者下載下傳安裝。http://www.cocoachina.com/ios/20150817/13078.html點選打開連結

其中,Bitcode的機制可以支援動态的進行App Slicing,而對于Apple未來進行硬體更新的措施,此機制可以保證在開發者不重新釋出版本的情況下而相容新的裝置。

Xcode7預設是開始了Bitcode,如果不想使用可以手動關閉Bitcode:

選擇項目——>點選Target——>點選Build Setttings——>搜尋欄裡搜bitcode——>把Enable Bitcode對應的Yes改成No。

啟用Bitcode編譯機制,需要注意以下幾點:

1、如果應用開啟Bitcode,那麼其內建的其他第三方庫也需要是Bitcode編譯的包才能真正進行Bitcode編譯

2、開啟Bitcode編譯後,編譯産生的.app體積會變大(中間代碼,不是使用者下載下傳的包),且.dSYM檔案不能用來崩潰日志的符号化(使用者下載下傳的包是Apple服務重新編譯産生的,有産生新的符号檔案),使用dSYM來收集Crash日志的同學得注意了。

3、通過Archive方式上傳AppStore的包,可以在Xcode的Organizer工具中下載下傳對應安裝包的新的符号檔案

說了這麼多 ,出現這個問題了,應該怎麼解決呢呢???

解決方法:

1、Build Settings ——>Build Options——>Debug Information Format

2、Debug下的DWARF with dsYM File改成DWARF

3、Release下的還是之前預設的DWARF with dsYM File不變