2016-05-12 5 views
6

http://prntscr.com/b388sfFabric laden automatisch dSYMs

fehlt ich dieses Problem ständig nach iOS9 und bin gelangweilt davon. Ich verwende den neuesten Xcode/Fabric/Swift mit aktiviertem Bitcode. Ich muss dSYM manuell von itunesconnect herunterladen und es auf Fabric hochladen, damit es funktioniert.

Was mache ich falsch, wie kann ich es automatisch wie geplant arbeiten lassen?

Antwort

8

Mike von Fabric hier.

Mit Bitcode wird dieses Problem definitiv häufiger auftreten, aber es gibt mehrere Möglichkeiten, es zu behandeln. Sie können die dSYMs unter Verwendung von Fastlane.tools automatisch herunterladen, indem Sie fastlane refresh_dsyms ausführen, die die dSYMs von iTunesConnect herunterladen und dann auf Fabric hochladen. Referenz für refresh_dsyms Fastlane ist hier: https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps

In der Praxis erstellen fastlane genannt: refresh_dsyms, mit dem folgenden:

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 

, die die dSYMs von iTunesConnect herunterladen und laden Sie sie auf Stoff.

Alternativ können Sie das Fabric-Skript upload_symbols ausführen, aber Sie müssten die dSYMs manuell von iTunesConnect herunterladen - dies würde nur den Upload übernehmen. Der Befehl wäre: find <directory-to-search-for-dsyms> -name "*.dSYM" | xargs -I \{\} /path/to/upload-symbols -a <api-key> -p <platform> \{\}

Referenz für upload_symbols ist hier: https://docs.fabric.io/ios/crashlytics/missing-dsyms.html#upload-symbols-script und

Aus dem Grund, warum dies geschieht, wird Apple-App neu zu kompilieren, wenn Bitcode aktiviert ist, so dass die DSYM nur auf Apples Servern erzeugt, die verhindert, dass Fabric sie automatisch hochlädt.

+0

Wenn Sie also nur den Bitcode deaktivieren, wird dieses Problem ohne Probleme gelöst? – Esqarrouth

+0

Das ist ziemlich genau das, was wir gefunden haben. Es gibt einige Randfälle, aber Apple kompiliert Ihre App auf ihren Servern neu und erstellt neue dSYMs, so dass wir diese dSYMs nicht erfassen können. –