問題---Undefined symbols for architecture armv7
這兩天有點時間更新cocoapods到了1.0.1版本,然后就出問題了,一臺電腦報:Undefined symbols for architecture armv7,還有一臺報:Undefined symbols for architecture arm64。各種方法嘗試,都不成功,下班后,繼續折騰,在自己的電腦上居然可以,沒有報錯。但公司的兩臺電腦動用各種手段,都不行,沒法子只能重新clone。
公司另一個項目執行pod install后報同樣的錯誤,經過一段時間的仔細排查,找到了問題根源。
解決
通過對比(編譯成功的項目與編譯失敗的項目)發現,有地方不一樣
備注:選中pods-項目名.a 即可在xcode右方找到上圖信息,準確的說,我是發現上方的“type”和“location”不一樣,修改無效,才注意到下方的差異的。
.xcodeproj->project.pbxproj差異
在Xcode中找不到修改“location”的地方,想到是不是.xcodeproj->project.pbxproj關于pods的設置 有地方一樣呢,經過仔細排查,果然
D725BCEBCC34F364839742F2 /* libPods-SecondaryMarket.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SecondaryMarket.a"; sourceTree = BUILT_PRODUCTS_DIR; };
這一樣中沒有“path=”,有個“name=xxxx/xxxxx/xxxxx/libPods-SecondaryMarket.a”,修改一直后,編譯通過,解決。
問題---Undefined symbols for architecture arm64
要記得清除“/Library/Developer/Xcode/DerivedData/”下和這個項目有關的文件夾。