iOS開發:Xcode報錯問題,ios開發xcode報

來源:互聯網
上載者:User

iOS開發:Xcode報錯問題,ios開發xcode報

Xcode報錯

verify final result code for completed build operationBuild operation failed without specifying any errors. Inpidual build tasks may have failed for unknown reasons.One possible cause is if there are too many (possibly zombie) processes; in this case, rebooting may fix the problem.Some inpidual build task failures (up to 12) may be listed below.
1.cocoapods版本導致

檢查發現本地mac系統上cocoapods版本是最新的1.4.0

//刪除1.4.0包sudo gem uninstall cocoapods -v 1.4.0//然後安裝指定版本的Cocoapodssudo gem install cocoapods -v 1.3.1//檢查版本pod --version

然後重新拉代碼,pod update
編譯運行OK!

2.Perform Single-Object Prelink設定導致

categories in static library

xcode編譯的時候不會把靜態庫裡面全部的類都載入進去,它會找主工程用到了哪些符號,然後把用到的載入進去。但是這個看起來很美的機制有個大坑,就是oc的分類是不產生符號的,也就是說,比如你在工程用了一個分類的方法[NSString categoryMethod], 編譯器只會認為需要用到NSString, 而不知道categoryMethod是靜態庫裡一個分類的方法,所以不會去載入靜態庫的分類。

目前的解決方案就是給編譯器一個標誌,告訴編譯器整個靜態庫都要載入:

1).-all-load. 把所有靜態庫裡的所有.o都載入
2).-force_load. 可以指定載入哪個靜態庫的所有.o
3).-ObjC. 把所有OC代碼都載入。
4).Perform Single-Object Prelink.
前3個編譯選項都是設在主工程的,這個選項是設定在靜態庫的。表示把這個子工程先行編譯成一個.o檔案,當整個靜態庫有一個符號被引用就把整個.o檔案打包進去。
可能是Perform Single-Object Prelink的實現有bug,檔案多了就掛了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.