M1 芯片的 Mac 上,使用 CocoaPods 管理的第三方庫時,如果某些庫不支持模擬器的 arm64 架構(gòu),可能會導(dǎo)致模擬器運(yùn)行失敗。這是因?yàn)?M1 芯片默認(rèn)以 arm64 架構(gòu)運(yùn)行模擬器,而某些庫可能只支持 x86_64 架構(gòu),不支持模擬器的arm64架構(gòu)。
Xcode需配置
1、Build Settings--選擇basic--在User-Defined下點(diǎn)擊 ”+“
2、輸入 ”EXLUDED_ARCHS“--debug和release選擇Any iOs Simulator SDK,輸入arm64
3、Build Settings下找到EXcluded Architectures 設(shè)置debug和release選擇Any iOs Simulator SDK,輸入arm64
4、Podfile 加入下面的代碼
post_install do |installer|
? installer.pods_project.targets.each do |target|
? ? target.build_configurations.each do |config|
? ? ? # 設(shè)置 ARCHS 為 x86_64 和 arm64
? ? ? config.build_settings['ARCHS'] = 'x86_64 arm64'
? ? ? # 排除 arm64 架構(gòu)(如果需要)
? ? ? if config.name == 'Debug'
? ? ? ? config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
? ? ? end
? ? end
? end
end
5、重新pod install
6、最后點(diǎn)擊xcode的Buildtime(如下面的截圖)自動適配代碼即可。注:如果沒出現(xiàn)就再跑一遍pod install。

上面修改的背景和原因:
M1 芯片的 Mac 使用ARM 架構(gòu),而傳統(tǒng)的 Mac 和 iOS 模擬器使用x86_64 架構(gòu)。
某些依賴庫可能沒有完全適配 ARM 架構(gòu),導(dǎo)致在 M1 芯片的 Mac 上運(yùn)行 iOS 模擬器時出現(xiàn)編譯錯誤。
通過排除模擬器環(huán)境下的?arm64?架構(gòu),可以強(qiáng)制依賴庫以?x86_64?架構(gòu)編譯,從而解決兼容性問題。
修改后重新pod install 即可解決問題