Flutter iOS模拟器启动缓慢且出现arm64与x86_64不兼容错误
Flutter iOS模拟器启动缓慢且出现arm64与x86_64不兼容错误
嘿,我之前在M2 Mac上跑Flutter iOS模拟器时,也碰到过一模一样的问题——启动慢到离谱就算了,还弹出LLDB架构不兼容的提示,同时Firebase的配置文件也找不到。给你分享几个亲测有效的解决办法,分两个问题来搞定:
一、解决arm64与x86_64不兼容导致的LLDB错误和启动缓慢
M2 Mac是arm64架构,而你用的iOS 12模拟器默认是x86_64的,这就直接导致了架构冲突,拖慢了启动速度。按下面的步骤来改:
修改Podfile配置
打开项目里的ios/Podfile,找到post_install do |installer|的代码块,在里面添加架构指定的代码:installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 新增这几行,强制模拟器用arm64架构 target.build_configurations.each do |config| config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'arm64' end end保存后,删除
ios/Pods文件夹和ios/Podfile.lock,然后在终端进入ios目录执行pod install。调整Xcode项目架构设置
打开Xcode加载ios/Runner.xcworkspace,找到项目的Build Settings:- 找到
Architectures选项,设置为Standard Architectures (arm64) - 找到
Valid Architectures,只保留arm64(如果找不到这个选项,先打开Xcode的「Show All Settings」开关) - 另外建议换用iOS 15及以上版本的模拟器,iOS 12的模拟器对arm64的支持确实拉胯,换高版本后启动速度会明显提升。
- 找到
清理项目缓存
执行Flutter的清理命令:flutter clean,然后重新构建项目flutter run,彻底清除旧的缓存文件,避免架构冲突残留。
二、解决GoogleService-Info.plist找不到的问题
这个问题大多是文件位置不对或者没正确关联到项目:
- 先确认你从Firebase控制台下载的
GoogleService-Info.plist是对应你iOS项目Bundle ID的,别下错了其他项目的文件。 - 把这个文件拖到项目的
ios/Runner文件夹里,拖的时候一定要勾选Copy items if needed,并且在Xcode里检查,这个文件要出现在Runnertarget的Build Phases -> Copy Bundle Resources列表中。 - 如果拖进去还是不行,就右键Xcode里的
Runner文件夹,选择Add Files to "Runner",重新选择这个plist文件添加,确保路径完全正确。
我当时按照这些步骤改完,模拟器秒启动,两个错误提示也都消失了,你可以试试~
内容来源于stack exchange
相关产品推荐
相关产品推荐

