本文僅收集了作者工作中遇到的錯(cuò)誤情況,邊查錯(cuò)邊更新,當(dāng)然作者遇到的肯定是很小的一部分,如果有兄弟姐妹沒遇到其他的錯(cuò)誤情況歡迎私信,及時(shí)更新,謝謝大家。
一、 Invalid bitcode signature
-
可能是含有不支持bitcode的包引起,buildSetting 搜索 bitcode
將YES ---> NO
2.新版Xcode,可能會(huì)出現(xiàn)這種情況了:當(dāng)選擇的不是模擬器或真機(jī)時(shí)會(huì)報(bào)這種錯(cuò)誤。
image.png
二、_OBJC_CLASS_$_某文件名", referenced from:問題
-
例如我最近升級(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ù)引用
在工程中重復(fù)導(dǎo)入了某一個(gè)類或文件,這一般出現(xiàn)在你添加第三方庫的時(shí)候比較多,在不知道的情況下又導(dǎo)入了一次相同的類。
在多個(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 等



