Fabric会自动上传缺少的dSYM

时间:2016-05-12 17:20:38

标签: crashlytics twitter-fabric

http://prntscr.com/b388sf

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

我做错了什么,如何让它像预期的那样自动运作?

1 个答案:

答案 0 :(得分:12)

Mike来自Fabric。

使用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自动上传它们。