報錯內(nèi)容:building for iOS Simulator, but linking in object file built for iOS, xxxx for architecture arm64
項目再遷移到XCode12 的時候跑模擬器遇到了下面這個報錯。真機沒有問題

image.png
在Stack Overflow: xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios上查大多數(shù)都給出了在build settings->excluded architectures 中添加arm64架構(gòu)的解決方案,但這個對于我們的項目沒有用。
在XCode 11中,我們通過Valid Architectures 來配置支持的機型。

image.png
但在XCode12中, Valid Architectures 這一項被移除掉了,改變成了 VALID_ARCHS的欄目。

image.png
解決方案:
在 VALID_ARCHS 添加上 x86_64的模擬器機型配置
如圖:

image.png
原因:
在XCode11中 x86_64的機型支持是默認添加上的,就算不寫也支持,但XCode12的時候 蘋果推出了arm主機的Mac, 這使得arm主機的XCode其實就不需要x86_64的默認支持了。 這個時候x86_64也就不是默認添加,需要手動添加上才能在Mac上跑得動模擬器。
感悟:
解決這個問題大概花了大半天時間,跟著Stack Overflow 和 蘋果論壇的解決方案找了很多彎路。 可能靜下心想想或者試一下自己也能找到問題的原因。