1. 程式人生 > >舊專案引入CocoaPods遇到的坑

舊專案引入CocoaPods遇到的坑

在給舊的專案引用CocoaPods時,當建立好Podfile後,進行 pod install指令。控制檯發出如下資訊,若直接編譯則遇到 ld:library not found for -lPods-XXX 的報錯。

 

 

這是關聯路徑不對,所以查詢不到關聯庫。應該是新版pods對關聯庫這塊進行了更新, Pods-XXX 變成 XXX,而clone下來的專案的buildsetting還是之前的,雖然進行了pod install/update,關聯路徑還是按照老的來查詢,故build失敗。

解決辦法:如上圖控制檯的提示,需在 build setting

->other linker flag中,加上$(inherited)即可。如下圖:

 

重新編譯工程的時候,又報了一個錯誤 :ld: library not found for -lMBProgressHUD找不到相應的第三方庫。

解決辦法:在Edit Scheme中,找到Build項,點選+號,找到Pods靜態庫,點選Add

 

新增後如上圖所示。

再次編譯,又遇上了 invalid bitcode signature 的錯誤。解決方案如下圖:需選中Pods,將Targets中的專案的 Enable Bitcode設定為 No

 

Tips:

1. 引入CocoaPods,並通過CocoaPods引入第三方庫後,需將專案中原有引用的相應第三方庫刪除。否則會通不過編譯。

2. 若在編譯執行過程中仍遇到上述第二條錯誤,則需將下圖屬性也設定為 No 

 

 

參考連結:

解決 ld: library not found for -lPods的問題

解決 ld:library not found for -lPods-XXX

pod 引用第三方庫檔案報錯 library not found for -lMJRefresh

iOS invalid bitcode signature等常見錯誤