報(bào)錯(cuò)內(nèi)容:building for iOS Simulator, but linking in object file built for iOS, xxxx for architecture arm64
項(xiàng)目再遷移到XCode12 的時(shí)候跑模擬器遇到了下面這個(gè)報(bào)錯(cuò)。真機(jī)沒有問題
在Stack Overflow: xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios上查大多數(shù)都給出了在build settings->excluded architectures 中添加arm64架構(gòu)的解決方案,但這個(gè)對(duì)于我們的項(xiàng)目沒有用。
在XCode 11中,我們通過Valid Architectures 來配置支持的機(jī)型。
但在XCode12中, Valid Architectures 這一項(xiàng)被移除掉了,改變成了 VALID_ARCHS的欄目。
解決方案:
在 VALID_ARCHS 添加上 x86_64的模擬器機(jī)型配置
如圖:
原因:
在XCode11中 x86_64的機(jī)型支持是默認(rèn)添加上的,就算不寫也支持,但XCode12的時(shí)候 蘋果推出了arm主機(jī)的Mac, 這使得arm主機(jī)的XCode其實(shí)就不需要x86_64的默認(rèn)支持了。 這個(gè)時(shí)候x86_64也就不是默認(rèn)添加,需要手動(dòng)添加上才能在Mac上跑得動(dòng)模擬器。
感悟:
解決這個(gè)問題大概花了大半天時(shí)間,跟著Stack Overflow 和 蘋果論壇的解決方案找了很多彎路。 可能靜下心想想或者試一下自己也能找到問題的原因。