You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS项目通过SPM接入Crashlytics后崩溃上报与dSYM上传相关疑问

崩溃上报逻辑说明

你对官方文档的理解是正确的:

  • 应用崩溃时进程已被系统标记为异常终止状态,无法执行任何网络请求等额外操作,所有崩溃信息会先写入本地沙盒存储,必须等下一次应用正常启动时才会自动上报到Firebase后台
  • 若用户崩溃后再也不打开应用,对应崩溃报告确实无法被采集到,这是iOS平台所有崩溃采集工具的通用底层限制,你之前认为崩溃发生时可直接上报的认知不符合iOS系统的进程管理规则
  • 官方文档中提到的「从Xcode重新运行应用」仅为测试场景下的操作指引,线上版本用户手动重启应用即可触发上报,无需依赖Xcode操作

Google Analytics依赖问题说明

无需强制开启Google Analytics全量功能即可正常使用Crashlytics:

  • 你遇到的不开GA就收不到崩溃的问题,是因为新版Firebase默认使用GA的基础传输组件承载崩溃日志上报,你只需要在应用初始化阶段手动调用Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)显式开启Crashlytics采集权限,即可在关闭GA数据分析功能的前提下正常接收崩溃报告

SPM接入后的dSYM上传方案

无需切换到CocoaPods接入,现有方案可长期维护:

  • 官方给出的带Pods路径的上传命令仅为CocoaPods接入场景的示例,SPM接入时你可以直接下载独立的upload-symbols脚本存放在项目目录下,替换命令中工具路径即可正常使用,示例命令如下:
    ./你的脚本存储路径/upload-symbols -gsp /你的本地路径/GoogleService-Info.plist -p ios /你的dSYM文件路径
  • 你当前关闭bitcode使用自动上传dSYM的方案完全适合长期维护:Xcode 14及以上版本苹果已默认关闭bitcode功能,也不再推荐开发者开启,自动上传dSYM的逻辑对SPM和CocoaPods接入均生效,稳定性有官方保障。只有当你后续需要开启bitcode时,才需要额外配置脚本上传苹果后台返回的加工后dSYM文件。

内容的提问来源于stack exchange,提问作者Oleksandr Matrosov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:36:03