React Native中FirebaseAnalytics.framework多命令编译错误
React Native 0.70.3升级后iOS编译失败(Firebase框架重复冲突)
问题详情
将React Native升级至0.70.3版本,同时更新所有npm包(含Firebase依赖到16.1.1版本)后,iOS应用编译失败,报错显示FirebaseAnalytics框架被多个构建命令重复生成。已尝试检查Xcode的Copy Bundle Resources列表,但未发现重复项。
错误截图:
完整错误日志:
note: Building targets in dependency order error: Multiple commands produce '/Users/justintoth/Library/Developer/Xcode/DerivedData/Marriage365-cvaqfonbgyahhfgjedajduowtwdf/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FirebaseAnalytics/AdIdSupport/FirebaseAnalytics.framework' note: That command depends on command in Target 'FirebaseAnalytics' (project 'Pods'): script phase “[CP] Copy XCFrameworks” note: That command depends on command in Target 'FirebaseAnalytics.default-WithoutAdIdSupport' (project 'Pods'): script phase “[CP] Copy XCFrameworks” warning: duplicate output file '/Users/justintoth/Library/Developer/Xcode/DerivedData/Marriage365-cvaqfonbgyahhfgjedajduowtwdf/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FirebaseAnalytics/AdIdSupport/FirebaseAnalytics.framework' on task: PhaseScriptExecution [CP] Copy XCFrameworks /Users/justintoth/Library/Developer/Xcode/DerivedData/Marriage365-cvaqfonbgyahhfgjedajduowtwdf/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/FirebaseAnalytics.default-WithoutAdIdSupport.build/Script-46EB2E00033070.sh (in target 'FirebaseAnalytics.default-WithoutAdIdSupport' from project 'Pods')
解决步骤
清理Pod与构建缓存
进入项目ios目录执行以下命令:cd ios pod deintegrate pod clean rm -rf ~/Library/Developer/Xcode/DerivedData rm Podfile.lock修正Podfile依赖配置
打开ios/Podfile,确保没有同时引入冲突的FirebaseAnalytics变体,统一使用标准依赖声明:pod 'Firebase/Analytics'避免同时存在
FirebaseAnalytics和FirebaseAnalytics.default-WithoutAdIdSupport这类重复目标的依赖。重新安装Pods依赖
执行命令更新仓库并重新安装:pod install --repo-update排查Xcode Pods目标冲突
打开Xcode找到Pods项目下的FirebaseAnalytics和FirebaseAnalytics.default-WithoutAdIdSupport目标:- 进入每个目标的
Build Phases - 查看
[CP] Copy XCFrameworks脚本的输出路径,确认是否指向同一文件 - 若确认其中一个为多余目标,可直接从Pods项目中删除(操作前建议备份项目)
- 进入每个目标的
验证Build Settings配置
检查主项目和Pods项目的Build Settings中,Framework Search Paths是否存在重复的Firebase框架路径,如有则移除重复项。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

