升級了Xcode10之后,因?yàn)轫?xiàng)目沒有新需求,就去寫其他東西了,一直沒運(yùn)行過以前的項(xiàng)目,昨天朋友問我問題,運(yùn)行了一下以前的項(xiàng)目,發(fā)現(xiàn)不能編譯通過,報錯,網(wǎng)上各種找答案之后解決了,現(xiàn)在把自己遇到的問題整理一下,方便其他遇到相同問題的人。
首先,運(yùn)行項(xiàng)目之后報下面的錯,找不到sdk:

unable to find sdk.jpg
原因說的很清楚了,找不到sdk,在TARGETS -> Build Settings -> Base SDK查看也顯示“iphoneos11.4(SDK not found)”解決方案:把Base SDK 選擇改成 “iOS”,如下圖:

sdk not found solution.jpg
修改好之后,再運(yùn)行,又報錯,info.plist重復(fù):

Multiple commands produce problem.jpg
1.Build Phases ->Copy Bundle Resources
2.搜索找到info.plist,刪除它
3.clean一下

修改Xcode設(shè)置.png

修改Xcode設(shè)置2.png
Xcode9之后,Xcode新增了一個構(gòu)建系統(tǒng)“New Build System”(新構(gòu)建系統(tǒng)),在Xcode10中默認(rèn)使用New Build System,這套編譯會嚴(yán)格解析各個文件的依賴關(guān)系。舊的構(gòu)建系統(tǒng)稱為 legacy build system (傳統(tǒng)構(gòu)建系統(tǒng)),切換成Legacy Build System則是表示使用之前的構(gòu)建系統(tǒng)。
重新運(yùn)行項(xiàng)目,接著報錯,library not found for -lstdc++.6.0.9:

linker command failed.jpg

libstdc++.6.0.9.tbd變紅.jpg

添加libstdc++庫.jpg