如何通过EAS托管流程自动上传dSYM至Firebase Crashlytics?
通过EAS托管自动上传dSYM到Firebase Crashlytics的正确方式
直接用EAS Build的post-build钩子就能实现自动上传,不用手动处理构建产物,具体步骤如下:
1. 配置eas.json的post-build脚本
打开你的eas.json,找到对应构建环境(比如production、preview)的配置块,在scripts里新增post-build命令,替换成你项目的实际路径:
{ "build": { "production": { "buildArtifactPaths": ["ios/build/*"], "scripts": { "post-build": "cd ios && ./Pods/FirebaseCrashlytics/upload-symbols -gsp ./GoogleService-Info.plist -p ios ./build/YourAppName.xcarchive/dSYMs" } } } }
注意几个关键点:
- 先
cd ios进入iOS项目目录,后续路径都基于这个目录 upload-symbols的路径是./Pods/FirebaseCrashlytics/upload-symbols,只要你通过CocoaPods集成了FirebaseCrashlytics,这个路径就存在GoogleService-Info.plist要放在iOS目录下,且Xcode中已将其添加到对应target- dSYM的路径要匹配你的archive产物位置,一般是
./build/[你的App名称].xcarchive/dSYMs,不确定的话可以先手动跑一次EAS构建,下载产物后找到实际路径替换
2. 确认Firebase依赖配置
确保iOS项目的Podfile里已添加Crashlytics依赖:
pod 'Firebase/Crashlytics'
并且已经执行过pod install(EAS构建时会自动执行此步骤,只要Podfile配置正确即可)
3. 验证上传结果
触发一次EAS构建,完成后去构建日志里搜索upload-symbols,查看是否有成功上传的提示。也可以登录Firebase控制台,进入Crashlytics模块,检查“dSYM文件”页面是否已显示上传的文件
常见踩坑点
- 路径错误:dSYM或GoogleService-Info.plist的路径不对时,日志会明确报错,照着调整即可
- 依赖缺失:如果找不到upload-symbols,检查Podfile是否正确添加了Firebase/Crashlytics,确保没有拼写错误
内容的提问来源于stack exchange,提问作者Grzegorz Pawlik
相关产品推荐
相关产品推荐

