在iOS9之后我经常遇到这个问题并且对此感到厌倦。我正在使用最新的Xcode / Fabric / Swift并启用了bitcode。我必须从itunesconnect手动下载dSYM并将其上传到光纤网以使其正常工作。
我做错了什么,如何让它像预期的那样自动运作?
答案 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自动上传它们。