按照此处 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 F 的某个地方,我强制崩溃并观察了 Crashlytics 中的调用堆栈。调用堆栈显示项目 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
If you link in other static or dynamic frameworks, you could see crash reports with missing line numbers or file information. This information comes from your dSYM files, so ensure that your dSYM files for the frameworks are placed in the same directory as the app’s dSYM and that they are built before your .app. - Crashlytics Static or Dynamic Frameworks
正如你在上面的Output Product Directory
中看到的,dSYMs在同一个地方,它们出现在App.app.dSYM
之前的文件夹中
感谢@MikeBonnell
找到上传符号脚本的文档 https://docs.fabric.io/apple/crashlytics/missing-dsyms.html
由于我在 iOS 应用程序中使用(并使用 Cocoapods),因此我将构建阶段更新如下
find ${DWARF_DSYM_FOLDER_PATH} -name "*.dSYM" | xargs -I \{\} ${PODS_ROOT}/Fabric/upload-symbols -a <api-key> -p ios \{\}
关于ios - Crashlytics 如何从 Carthage 框架上传 dsym 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49315550/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |