更新@capacitor-firebase/messaging至v5后SwiftEmitModule arm64构建失败
解决@capacitor-firebase/messaging v5更新后M1 Mac模拟器构建失败问题
先处理构建警告(可选但建议)
虽然警告不是直接导致构建失败的原因,但修复它们可以消除潜在隐患:
- 打开Xcode,进入项目target的Build Phases标签页
- 找到
Copy GoogleService-Info.plist脚本阶段,取消勾选Based on dependency analysis选项 - 找到
[CP] Embed Pods Frameworks脚本阶段,同样取消勾选Based on dependency analysis选项
解决SwiftEmitModule arm64构建失败(核心问题)
针对M1架构Mac的这个错误,可按以下步骤逐一排查:
1. 清理项目缓存与重新同步
- 在Xcode中执行
Product > Clean Build Folder(快捷键Cmd+Shift+K) - 关闭Xcode,删除项目根目录下的
Pods文件夹、Podfile.lock文件和ios/App.xcworkspace文件 - 执行
pod install,若为Capacitor项目,可同时运行npx cap sync ios同步配置
2. 调整Xcode架构兼容设置
- 打开项目target的Build Settings标签页
- 搜索
Architectures:- 将
Architectures设置为Standard Architectures (arm64, x86_64) - 在Debug模式的
Excluded Architectures中添加arm64(仅针对模拟器),Release模式保持为空
- 将
- 搜索
Build Active Architecture Only:- Debug模式设为
Yes,Release模式设为No
- Debug模式设为
3. 重新配置Capacitor-Firebase依赖
- 确认
GoogleService-Info.plist已正确放置在ios/App/App目录下 - 运行
npx cap update ios更新Capacitor iOS平台配置 - 检查
Podfile中是否正确引入@capacitor-firebase/messaging的v5版本依赖
4. 重启设备与模拟器
M1架构的临时缓存可能引发异常,重启Mac和模拟器后再尝试构建
5. 尝试Rosetta模式运行Xcode
- 找到应用程序中的Xcode,右键选择显示简介
- 勾选使用Rosetta打开,重启Xcode后重新构建
内容的提问来源于stack exchange,提问作者DevOverflow
相关产品推荐
相关产品推荐

