按照这里的说明https://docs.fabric.io/apple/crashlytics/advanced-setup.html为了自动将 dSYM 文件上传到结构,您只需Fabric.framework/run
在应用程序目标上运行脚本。
我的项目配置如下:
Project F
- product is Dynamic Framework
Project A
- product is .app
- depends_on:
- Project F
- X.framework from Carthage
在项目 A 的目标上,作为构建阶段,我添加了运行Fabric.framework/run
脚本。Project FI 中的某个地方强制崩溃并观察了 Crashlytics 中的调用堆栈。调用堆栈显示 Project F 但符号显示(Missing)
(请参阅https://imgur.com/a/HDubV)
如果我将所有 dSYM 存档并手动添加到 crashlytics,则会显示来自项目 F 的符号。
如何将生成的 dSYM 自动上传到 Crashlytics?我可以使用restful api吗?
注意:我假设使用 Carthage 导入的动态框架也会发生相同的行为。
ENABLE_BITCODE = NO
Output Product Directory
- Debug-iphoneos
- App.app
- Frameworks
- ProjectF.framework
- X.framework
- App.app.dSYM
- ProjectF.framework.dSYM
- X.framework.dSYM
如果您链接到其他静态或动态框架,您可能会看到缺少行号或文件信息的崩溃报告。此信息来自您的 dSYM 文件,因此请确保框架的 dSYM 文件与应用程序的 dSYM 放在同一目录中,并且它们是在您的 .app 之前构建的。- Crashlytics 静态或动态框架
正如你在Output Product Directory
上面看到的,dSYMs 在同一个地方,它们出现在之前的文件夹中App.app.dSYM