Flutter项目:CodeMagic脚本上传iOS Crashlytics dSYM失败,提示文件不存在
解决CodeMagic中Crashlytics dSYM上传失败的问题
可能的原因及对应解决方案
1. 构建类型未选择归档模式
CodeMagic中如果iOS构建任务的Build type不是Archive,不会生成.xcarchive文件。
- 操作:进入CodeMagic构建任务的iOS配置页面,确认Build type设置为
Archive,重新触发构建。
2. 归档文件名称并非默认的Runner.xcarchive
如果你的项目修改过Target名称,归档文件的名字会和Target一致,而非Runner.xcarchive。
- 操作:在Post-Publish脚本开头添加以下命令,查看实际归档文件路径:
根据输出结果,将脚本中硬编码的ls -R /Users/builder/clone/build/ios/archive/Runner.xcarchive替换为实际的归档文件名。
3. 替换硬编码路径为动态查找逻辑
原脚本的固定路径容易因项目配置变化失效,建议修改为动态定位归档文件:
- 替换脚本中查找dSYM的部分为:
# 动态定位第一个xcarchive文件 XCARCHIVE_PATH=$(find /Users/builder/clone/build/ios/archive -name "*.xcarchive" -type d | head -1) if [ -z "$XCARCHIVE_PATH" ]; then echo "No .xcarchive found, skip dSYM upload" exit 0 fi # 从归档文件中提取dSYM路径 DSYM_PATH="$XCARCHIVE_PATH/dSYMs"
4. Xcode项目未开启dSYM生成
如果项目的Build Settings中未配置生成dSYM,即使归档成功也不会有对应文件。
- 操作:打开Xcode项目,进入Target的Build Settings,搜索
Debug Information Format,确保Release模式下设置为DWARF with dSYM File。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

