大部分的項目會選擇使用CocoaPods來管理第三方庫,pods的使用確實方便,但是各類問題也是層出不窮.
最近對項目結(jié)構(gòu)做了些修改,更新后編譯就出現(xiàn)了ld: library not found for -lXXX 的情況
谷歌后整理了以下幾類解決方案:
1 :點擊XCode工程文件鹦聪,在Build Phases中查看“Link binary With Libraries”
如果不出所料猾警,你應(yīng)該能發(fā)現(xiàn)有一到數(shù)個的條目是用紅色字體來顯示的若厚。
說明這些被工程引用的這些文件,其物理文件已經(jīng)不處于之前所記錄的地方了血淌。
這種情況下,右鍵點擊紅色條目赦邻,選擇“Reveal in Project Navigator”囚玫,
此時大抵能在左側(cè)欄中定位到缺失文件所在的路徑,接下來就好辦了昨忆,找到缺失的文件丁频,挪回它應(yīng)該待的地方。
2 :在工程的Target中選中要執(zhí)行編譯的某個target,然后“get info”席里,打開Build設(shè)置頁面叔磷,在“Library Search Path”中添加缺失鏈接庫的所在文件夾的路徑。
3:關(guān)閉Xcode奖磁,在控制臺打開到工程目錄改基,用pod install 命令重新安裝,成功后再打開Xcode編譯項目咖为。
但是以上三類方法對我問題的解決均無效,后仔細(xì)思考,想出第四種解決方案
4: 所有問題的源頭應(yīng)該就是CocoaPods的管理問題,遂刪除.xcworkspace可執(zhí)行文件和Pods文件夾,再重新pod install (其實我更傾向于pod install --verbose --no-repo-update),重新運行,問題解決!