主要做的就是把我遇到報錯還有一些解決方式進(jìn)行了統(tǒng)計。
一.
報錯:Declaration uses __weak, but ARC is disabled完疫。
解決方式:project ->targets(找到出問題的工程)->build settings -> weak references in manual retain release 置成Yes;
二.
報錯:ld: library not found for -lPods-pop
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解決方式:這里的話情況分類會比較多壳鹤。
1.點擊 XCode 工程文件盛龄,在 Build Phases 中查看 “ Link binary With Libraries” 你會發(fā)現(xiàn)里面有文件的名字是紅色的。右鍵點擊紅色條目芳誓,選擇 “Reveal in Project Navigator”這樣文件的路徑就回去了余舶。感覺這種情況是最快能解決的锹淌。
2.可能是路徑填寫有問題。選中project中你需要編譯的target 然后在build settings里面有一個"Library Search Path"在這里將你對應(yīng)缺少的library的地址寫入赂摆。注意挟憔,你不要寫本地地址這樣比較坑人,$(PROJECT_DIR)/ht/ThirdParty類似這樣來填寫正確的地址烟号。
3.還有一種情況就是pod 集成的庫沒有被找到绊谭。點擊模擬器邊上的工程按鈕選擇edit scheme 選到build 然后+把pod的靜態(tài)庫加進(jìn)入clean一下在重新編譯就可以通過了。
三.
報錯:ld: warning: directory not found for option
解決方式:這種情況下一般是由于你library的路徑有問題褥符。:project ->targets(找到出問題的工程)->build settings-> Library Search Path 將錯誤的路徑刪除就可以了抚垃。
四.
報錯:Undefined symbols for architecture XXX(我報的是x86_64)
解決方式:
1.這里的情況很有可能是你少加入了靜態(tài)庫或者.m文件還是到Build Phases仔細(xì)校對一下你缺少了什么,add進(jìn)入重新編譯就可以過了鹤树,他提示你缺少什么包你就add什么就可以了。
五.
報錯:duplicate symbol XXX in:
解決方式:從字面意思理解是定義了2次吧罕伯。奇怪了我哪里定義了2次嗎。
1.全局搜索下XXX這個被定義2次的屬性追他。意外的發(fā)現(xiàn)了
const CGFloat kHeaderHeight = 240.f;這是之前常用的方式方便理解。但是在xcode8中這是不被允許的邑狸。 需要在const 前面加上static 就能解決掉這個問題了。
六
報錯: _dispatch_barrier_sync_f_slow:brk #0x1
解決方式:在調(diào)用系統(tǒng)api通知請求打開的時候出現(xiàn)了死鎖狀況单雾,原因是因為使用的騰訊sdk引起的換了一個新的sdk解決了這個問題她紫。
小結(jié):
暫時只找到了這么多,我還是會繼續(xù)記錄一些問題贿讹。其實中間還遇到過bitcode的問題。很多問題遇到了不記錄下來下次遇到還是容易忘記民褂。決定給自己做一個的小的記錄在這里方便自己也方便大家。