周二,公司給我配了一臺新電腦涣旨,到App Store上下載了最新的Xcode (Xcode 10 iOS 12)歪架,興致勃勃的運行以前的項目,噌噌的報了幾個錯霹陡,現(xiàn)在總結(jié)一下具體的報錯原因和解決辦法:
問題1 報文件重復(fù)
Xcode10使用了一個的新創(chuàng)建系統(tǒng)和蚪,比之前的提供更好的可靠性與創(chuàng)建性能,而且可以獲取項目配置問題(默認(rèn)設(shè)置新創(chuàng)建系統(tǒng))
在蘋果文檔中穆律,提及Xcode10中的關(guān)于舊項目New Build System更改適配中提及到以下兩點
New Build System會對構(gòu)建中的元素循環(huán)進(jìn)行嚴(yán)格的檢查惠呼,避免不必要的重建,這個也是錯誤出現(xiàn)的原因峦耘。
解決:
File--> Workspace Settings --> Build System 修改為Legacy Build System (默認(rèn)是New Build System)
問題2 找不到libstdc++.6.0.9
升級到Xcode10剔蹋,由于iOS12移除了libstdc++.6.0.9,所以好的辦法就是把這個庫用libc++替換掉辅髓。但是項目中有的第三方的靜態(tài)庫里面使用到了泣崩,并且還沒來得及修復(fù)這個問題,實在是沒得什么好辦法洛口,所以就暫時把Xcode9中的libstdc++移動到了Xcode10對應(yīng)目錄下矫付,之后再處理了。找到lib文件夾:把libstdc++.6.0.9.tbd 和libstdc++.6.tbd 復(fù)制進(jìn)去以下兩個路勁就可以了
路徑:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib
libstdc++.6.0.9.tbd 和libstdc++.6.tbd
鏈接: https://pan.baidu.com/s/17U3lo-3APJxsjp_RieYC4A 提取碼: 1b4s
暫時遇到這兩個bug第焰,如有其它bug买优,在更新。
================================更新==========================================
今天將Xcode更新到10.3又出現(xiàn)上面的問題了 但是上面的解決方法不奏效 現(xiàn)在找到以下解決方法
①在RuntimeRoot的lib里面增加libstdc++.6.0.9.dylib,libstdc++.6.dylib杀赢,libstdc++.dylib烘跺,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/(下文有進(jìn)入目錄方法)
②在iPhoneOS.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd脂崔,libstdc++.tbd滤淳,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
③在iPhoneSimulator.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd砌左,libstdc++.tbd脖咐,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/