XCode12 (包括M1)模擬器編譯失敗解決方案

更新:
升級M1后出現(xiàn):
building for iOS Simulator, but linking in object file built for iOS
查了一堆資料后發(fā)現(xiàn)這些方案針對M1都無效(有說排除arm64編譯選項的,有說添加valid_archs指令集的)。
真正解決方案如下:
使用rossetta2運(yùn)行XCode!!!!
如果不知道怎么運(yùn)行的:退出xcode->打開finder -> 進(jìn)入application右鍵xcode -> 顯示簡介 -> 勾選使用rossetta2 -> 重啟xcode
這個點其實很奇怪,明明m1就是arm芯片,結(jié)果模擬器還需要使用x86運(yùn)行,估計還沒完全適配好,是xcode的bug(猜測)。

以下為intel芯片原始答案:
iOS14模擬器編譯失敗解決方案
升級XCode12后,模擬器突然就編譯報錯了,如下:
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7).

查了一下網(wǎng)上的問題描述,都比較古老,不適用
真正的解決方案是:去掉主工程(附屬工程不用管)的build setting下面的 VALID_ARCHS
就是在build setting下, user-defined的valid_archs,整個刪掉(如果不行就把附屬工程的也刪掉)

image.png

刪除后重新編譯即可,注意去掉主工程的就行了

ps: 如果run script下有做framework合并(debug+release)的,記得也要把腳本注釋掉
從xcode12開始,模擬器也是arm64核心了

ps: 修正一下, 如果去掉后還是不行, 附屬工程的編譯標(biāo)記也要去掉.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容