【问题标题】:Fabric automatically upload missing dSYMsFabric 自动上传缺失的 dSYM
【发布时间】:2016-05-12 17:20:38
【问题描述】:

http://prntscr.com/b388sf

在 iOS9 之后我经常遇到这个问题并且对此感到厌烦。我正在使用启用了位码的最新 Xcode/Fabric/Swift。我必须从 itunesconnect 手动下载 dSYM 并将其上传到 fabric 以使其工作。

我做错了什么,我怎样才能让它像预期的那样自动工作?

【问题讨论】:

    标签: crashlytics twitter-fabric


    【解决方案1】:

    来自 Fabric 的 Mike。

    使用 Bitcode 肯定会使这个问题更频繁地发生,但是有几种方法可以处理它。您可以通过运行fastlane refresh_dsyms 使用Fastlane.tools 自动下载dSYM,这将从iTunesConnect 下载dSYM,然后将它们上传到Fabric。 Fastlane 的refresh_dsyms 参考在这里:https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps

    在实践中,创建一个名为:refresh_dsyms 的快速通道,使用以下内容:

    lane :refresh_dsyms do
      download_dsyms                  # Download dSYM files from iTC
      upload_symbols_to_crashlytics   # Upload them to Crashlytics
      clean_build_artifacts           # Delete the local dSYM files
    end
    

    这将从 iTunesConnect 下载 dSYM 并将它们上传到 Fabric。

    或者,您可以运行 Fabric upload_symbols 脚本,但您需要从 iTunesConnect 手动下载 dSYM - 这只会处理上传。命令将是:find <directory-to-search-for-dsyms> -name "*.dSYM" | xargs -I \{\} /path/to/upload-symbols -a <api-key> -p <platform> \{\}

    upload_symbols 的参考在这里:https://docs.fabric.io/ios/crashlytics/missing-dsyms.html#upload-symbols-script

    由于发生这种情况,Apple 会在启用 Bitcode 时重新编译您的应用程序,因此 dSYM 仅在 Apple 的服务器上生成,这会阻止 Fabric 自动上传它们。

    【讨论】:

    • 所以只禁用位码就可以轻松解决这个问题?
    • 这就是我们所发现的。有一些边缘情况,但 Apple 正在他们的服务器上重新编译您的应用程序,创建新的 dSYM,因此我们无法捕获这些 dSYM。
    • @MikeBonnell 当我使用这个解决方案时,它根据我们的 CI 工作正常并且所有内容都已上传。 (它是一个每周运行一次的 cron 作业)但它现在运行了几个星期并且没有结果。 Fabric 似乎没有处理 dsym。
    • Hey Reshad - 请发送电子邮件至 support(at)fabric(dot)io 并附上您应用的 dSYM 和 bundle id,以便我们进一步调查。
    • @MikeBonnell 你能澄清一下吗?我们应该在crashlytics 操作之后调用upload_symbols_to_crashlytics 吗?还是 dSYM 已经在上传构建?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多