M1芯片 運(yùn)行模擬器報錯

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 即可解決問題

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

相關(guān)閱讀更多精彩內(nèi)容

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