IOS編譯錯(cuò)誤集合

本文僅收集了作者工作中遇到的錯(cuò)誤情況,邊查錯(cuò)邊更新,當(dāng)然作者遇到的肯定是很小的一部分,如果有兄弟姐妹沒遇到其他的錯(cuò)誤情況歡迎私信,及時(shí)更新,謝謝大家。

一、 Invalid bitcode signature
  1. 可能是含有不支持bitcode的包引起,buildSetting 搜索 bitcode
    將YES ---> NO
    2.新版Xcode,可能會(huì)出現(xiàn)這種情況了:當(dāng)選擇的不是模擬器或真機(jī)時(shí)會(huì)報(bào)這種錯(cuò)誤。


    image.png
二、_OBJC_CLASS_$_某文件名", referenced from:問題
  1. 例如我最近升級(jí)xcode后更換高德地圖的包出現(xiàn)的問題,可以看出是AMapLocationKit.framework包出現(xiàn)的問題。


    image.png

    點(diǎn)中AMapLocationKit.framework 查看membership 沒有勾選,這是xcode9,拖拽文件經(jīng)常會(huì)出現(xiàn)的問題。勾選就好了。


    image.png
三、 Duplicate Symbol - 重復(fù)引用
  1. 在工程中重復(fù)導(dǎo)入了某一個(gè)類或文件,這一般出現(xiàn)在你添加第三方庫的時(shí)候比較多,在不知道的情況下又導(dǎo)入了一次相同的類。

  2. 在多個(gè)文件中重復(fù)定義某個(gè)東西,例如:在兩個(gè)文件中定義了相同的枚舉。

以上兩種錯(cuò)誤很好找出對(duì)應(yīng)的錯(cuò)誤位置。

3.第三種是我目前遇到的,再導(dǎo)入第三方高德framwork的時(shí)候MAMapKit和AMapNaviKit會(huì)有重復(fù)錯(cuò)誤提示,但是你不會(huì)找到位置在哪里,只會(huì)有一大堆的 .o 提示。這時(shí)你要了解下面:

非系統(tǒng)Framework靜態(tài)庫都會(huì)被打包到app中,所以會(huì)產(chǎn)生"Duplicate Symbol"的錯(cuò)誤。在Build Settings->Other link flags中刪除所有的-all_load與-force_load, XCode會(huì)很smart的去掉"Duplicate Symbol"。

看下圖,找到other linker flags 刪除里面的 all_load 和 force_load 等

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

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

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