Flutter开发iPad兼容版macOS应用如何同时支持M系列与Intel芯片?
实现Flutter macOS应用同时支持Apple Silicon和Intel芯片的步骤
要让你的Flutter应用同时兼容arm64(M系列芯片)和x86_64(Intel芯片)设备,需要构建通用二进制(Universal Binary),以下是具体操作步骤:
1. 确认Flutter版本兼容性
使用Flutter 3.0及以上版本(旧版本对x86_64架构的macOS支持存在缺陷),可通过以下命令检查当前版本:
flutter --version
若版本过低,执行flutter upgrade完成升级。
2. 配置Xcode项目架构
打开项目的macos/Runner.xcworkspace(注意选择.xcworkspace文件而非.xcodeproj):
- 选中左侧的
Runner项目,切换到Build Settings标签页 - 在
Architectures分组下:- 将
Architectures设置为Standard Architectures (Apple Silicon, Intel) - arm64, x86_64 - 将
Build Active Architecture Only在Release模式下设置为No(Debug模式可保持Yes,不影响最终打包) - 若看到
Valid Architectures选项,确保其包含arm64和x86_64(部分Xcode新版本已隐藏该选项,可忽略)
- 将
3. 排查第三方依赖兼容性
确保所有Flutter插件/依赖都支持x86_64架构:
- 查看插件的pub.dev页面或GitHub仓库,确认其兼容macOS的x86_64架构
- 若存在仅支持arm64的插件,需替换为兼容通用架构的替代方案,或联系插件开发者更新版本
4. 构建通用二进制包
方式一:使用Flutter命令行
执行以下命令构建支持双架构的Release包:
flutter build macos --release --universal
构建完成后,产物位于build/macos/Build/Products/Release/目录下,该应用包同时包含arm64和x86_64架构。
方式二:使用Xcode打包
- 在Xcode顶部工具栏选择
Generic macOS Device作为运行目标 - 点击菜单栏
Product > Archive,等待归档完成 - 在归档窗口选择
Distribute App,按引导完成App Store提交流程,Xcode会自动生成通用二进制包
5. App Store Connect配置
在App Store Connect的应用详情页:
- 检查定价与可用性中的设备兼容性,确保勾选所有Mac设备(包含Intel机型)
- 提交审核时,确认上传的归档包包含双架构,审核通过后Intel设备即可搜索到你的应用
内容的提问来源于stack exchange,提问作者joisberg
相关产品推荐
相关产品推荐

