OStack程序员社区-中国程序员成长平台

标题: ios - Crashlytics 如何从 Carthage 框架上传 dsym 文件 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:03
标题: ios - Crashlytics 如何从 Carthage 框架上传 dsym 文件

按照此处 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之前的文件夹中

>



Best Answer-推荐答案


感谢@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