【发布时间】:2016-05-12 17:20:38
【问题描述】:
在 iOS9 之后我经常遇到这个问题并且对此感到厌烦。我正在使用启用了位码的最新 Xcode/Fabric/Swift。我必须从 itunesconnect 手动下载 dSYM 并将其上传到 fabric 以使其工作。
我做错了什么,我怎样才能让它像预期的那样自动工作?
【问题讨论】:
标签: crashlytics twitter-fabric
在 iOS9 之后我经常遇到这个问题并且对此感到厌烦。我正在使用启用了位码的最新 Xcode/Fabric/Swift。我必须从 itunesconnect 手动下载 dSYM 并将其上传到 fabric 以使其工作。
我做错了什么,我怎样才能让它像预期的那样自动工作?
【问题讨论】:
标签: crashlytics twitter-fabric
来自 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 自动上传它们。
【讨论】:
crashlytics 操作之后调用upload_symbols_to_crashlytics 吗?还是 dSYM 已经在上传构建?