为了自动上传dSYM文件到Fabric,请按照此处的指示https://docs.fabric.io/apple/crashlytics/advanced-setup.html,只需在应用程序目标上运行Fabric.framework/run
脚本即可。
我的项目配置如下:
Project F
- product is Dynamic Framework
Project A
- product is .app
- depends_on:
- Project F
- X.framework from Carthage
在Project A的目标中,我已经添加了一个构建阶段来运行脚本。在Project F的某个地方,我强制崩溃并观察Crashlytics中的调用堆栈。调用堆栈显示Project F,但符号为(Missing)(见https://imgur.com/a/HDubV)。
如果我使用所有dSYM进行归档并手动添加到Crashlytics中,则会显示来自Project 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 Static or Dynamic Frameworks 正如您在上面的
输出产品目录
中所看到的,dSYMs位于同一位置,并且它们出现在App.app.dSYM
之前的文件夹中。