Firebase静态库架构冲突求助:iOS模拟器编译失败
iOS模拟器架构冲突问题解决方案
1. 彻底清理CocoaPods相关残留
- 删除本地Pods目录:
rm -rf Pods - 删除Podfile.lock文件:
rm Podfile.lock - 清空CocoaPods本地缓存:
pod cache clean --all - 删除Xcode派生数据:
rm -rf ~/Library/Developer/Xcode/DerivedData,也可通过Xcode「Settings > Locations」找到路径手动删除
2. 统一Podfile架构配置
之前手动修改的架构规则可能引发冲突,在Podfile末尾添加以下代码,确保CocoaPods为模拟器和设备生成正确架构:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # 移除自定义架构限制 config.build_settings['ARCHS'] = nil # 为M1/M2模拟器排除arm64架构 config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end end end
执行pod install重新安装依赖
3. 修正Xcode项目架构设置
- 打开项目主Target的「Build Settings」
- 搜索
Architectures,设置为Standard Architectures (arm64, x86_64) - 搜索
Excluded Architectures,Debug模式下为模拟器添加arm64,设备端保持为空
4. 重新构建项目
- 按下
Cmd+Shift+K清理构建目录 - 选择目标模拟器,重新运行项目
5. 验证静态库架构(可选)
若问题仍存在,检查Firebase静态库的支持架构:
lipo -info Pods/Firebase/libFirebaseStatic.a
正常输出应同时包含arm64(设备)和x86_64(模拟器)架构,若缺失需再次清理缓存后重新安装依赖
内容的提问来源于stack exchange,提问作者Max Miranda
相关产品推荐
相关产品推荐

