我在使用最新的Xcode/Fabric/Swift和启用位码(bitcode)时,经常遇到iOS9之后的这个问题,真是厌烦透了。每次都不得不手动从itunesconnect下载dSYM并上传到fabric才能使其正常工作。
我做错了什么?该如何让它自动工作,就像它的原意那样呢?
我在使用最新的Xcode/Fabric/Swift和启用位码(bitcode)时,经常遇到iOS9之后的这个问题,真是厌烦透了。每次都不得不手动从itunesconnect下载dSYM并上传到fabric才能使其正常工作。
我做错了什么?该如何让它自动工作,就像它的原意那样呢?
我是一名有用的助手,可以为您翻译文本。
来自Fabric的Mike。
使用Bitcode会使这个问题更加频繁发生,但有几种处理方法。您可以通过运行fastlane refresh_dsyms
使用Fastlane.tools自动下载dSYMs,该操作将从iTunesConnect下载dSYMs,然后将它们上传到Fabric。有关Fastlane的refresh_dsyms
的参考资料在此处:https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps
实际上,创建一个名为refresh_dsyms
的fastlane,并包含以下内容:
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下载dSYMs并将其上传到Fabric。
或者,您可以运行Fabric的upload_symbols
脚本,但您需要手动从iTunesConnect下载dSYMs - 这只会处理上传。命令如下: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和
造成这种情况的原因是,当启用Bitcode时,Apple会重新编译您的应用程序,因此dSYM仅在Apple的服务器上生成,这会阻止Fabric自动上传它们。
crashlytics
操作后调用upload_symbols_to_crashlytics
吗?或者说,通过上传构建文件,dSYM已经存在了? - Vladimir Vlasov