Ios Crashlytics如何从Carthage框架上载dsym文件
按照此处的说明进行操作,以便 自动将dSYM文件上载到fabric您只需在应用程序目标上运行Ios Crashlytics如何从Carthage框架上载dsym文件,ios,xcode,crashlytics,carthage,dsym,Ios,Xcode,Crashlytics,Carthage,Dsym,按照此处的说明进行操作,以便 自动将dSYM文件上载到fabric您只需在应用程序目标上运行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
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
脚本。
在ProjectF的某个地方,我强制崩溃,并在Crashlytics中观察到调用堆栈。调用堆栈显示项目F,但符号为(缺少)
(请参阅)
如果我用所有的dsym做了一个存档,并手动添加到crashlytics中,则会显示projectf中的符号
如何将生成的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之前生成的。-
正如您在上面的Output Product Directory
中所看到的,dSYM位于同一位置,它们出现在App.App.dSYM
之前的文件夹中,谢谢@MikeBonnell
找到上载符号脚本的文档
由于我在iOS应用程序中使用(并使用Cocoapods),我更新了构建阶段,如下所示
find ${DWARF_DSYM_FOLDER_PATH} -name "*.dSYM" | xargs -I \{\} ${PODS_ROOT}/Fabric/upload-symbols -a <api-key> -p ios \{\}
find${DWARF\u DSYM\u FOLDER\u PATH}-name“*.DSYM”| xargs-I\{}${PODS\u ROOT}/Fabric/upload symbols-a-p ios\{}
这里是Fabric的Mike。尝试切换到使用上载符号脚本,该脚本将包含更多关于上载成功或失败的输出:/Applications/Fabric.app/Contents/MacOS/upload-symbols-a-p ios/Users/YourUserName/PathToDsymLocation