M1芯片运行Flutter应用iPhone 11模拟器构建失败求助
问题修复方案
本次报错的核心原因是M1芯片架构下iOS模拟器构建时,gRPC依赖库找不到openssl头文件,同时第三方依赖库的最低部署版本低于系统支持范围,可按以下步骤修复:
- 第一步:配置Xcode架构兼容
打开项目ios目录下的Runner.xcworkspace,选中Runner项目,在Build Settings的Excluded Architectures配置项中,给Debug和Release模式都添加Any iOS Simulator SDK选项,对应值设为arm64。 - 第二步:更新Podfile配置
打开ios目录下的Podfile,取消最顶部platform :ios, '9.0'的注释,再在Podfile末尾添加以下代码,强制所有Pods的最低部署版本和架构规则统一:post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end end end - 第三步:清理并重新安装依赖
在项目根目录依次执行以下命令:flutter clean rm -rf ios/Pods ios/Podfile.lock cd ios arch -x86_64 pod install --repo-update cd .. - 第四步:修复签名警告(可选)
打开Xcode工作空间,选中Runner target,在Signing & Capabilities标签页选择你的开发团队即可消除占位ID警告。
如果执行pod install时提示权限问题,不要加sudo,执行sudo chown -R $(whoami) ~/.cocoapods修复权限后重新执行即可。
内容的提问来源于stack exchange,提问作者roee attias
相关产品推荐
相关产品推荐

