更新:
升級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,整個刪掉(如果不行就把附屬工程的也刪掉)

刪除后重新編譯即可,注意去掉主工程的就行了
ps: 如果run script下有做framework合并(debug+release)的,記得也要把腳本注釋掉
從xcode12開始,模擬器也是arm64核心了
ps: 修正一下, 如果去掉后還是不行, 附屬工程的編譯標(biāo)記也要去掉.