2016-05-12 52 views
6

http://prntscr.com/b388sf面料自动上传失踪dSYMs

我必须不断iOS9后这个问题,很无聊吧。我正在使用带有位码的最新Xcode/Fabric/Swift。我必须从itunesconnect手动下载dSYM并将其上传到结构以使其工作。

我在做什么错,我该如何使它自动工作像它的意图?

回答

8

Mike从面料这里。

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

在实践中,创建一个名为FASTLANE: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下载dSYMs并将其上传到织物上。

或者,您可以运行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

对于为什么发生这种情况,苹果重新编译应用程序时启用位码的原因,所以的dSYM只在苹果的服务器产生哪些防止织物自动上传。

+0

所以只是禁用位代码将解决这个问题没有麻烦? – Esqarrouth

+0

这几乎是我们发现的。有一些边缘情况,但Apple正在他们的服务器上重新编译您的应用程序,创建新的dSYM,因此我们无法捕获这些dSYM。 –