Impossible de terminer la soumission de dSYM lors de la migration de fabric vers firebase pour crashlytics

12

J'utilise xcode11 avec mac os 10.14.1. J'ai implémenté la migration de Fabric vers Firebase à l'aide des documents suivants.

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-iosiosdeveloper-7b61a8b40008

Et j'ai généré du code pour tester le crash, mais ce rapport de crash ne peut pas apparaître dans la console firebase crashlytics. J'ai utilisé le doc suivant pour cette implémentation

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

J'ai également ajouté le script d'exécution suivant dans les phases de construction de Xcode

"$ {PODS_ROOT} / Fabric / symbol-upload" -gsp "$ {PROJECT_DIR} /GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"

Mais cela renverra l'erreur suivante lorsque j'exécuterai l'application.

31error: impossible de terminer la soumission de dSYM sur /Users/macmini1/Library/Developer/Xcode/DerivedData/app_name-dnzsvdsxebmfqjbjecjlyhdzwags/Build/Products/Debug-iphonesimulator/app_name.app.dm.sys -domain.process-dsym Code = 3 "Le fichier n'existe plus à (null)" UserInfo = {NSLocalizedFailureReason = Le fichier n'existe plus à (null)} [0m La commande PhaseScriptExecution a échoué avec un code de sortie différent de zéro

Pourriez-vous s'il vous plaît m'aider à résoudre ce problème

IKKA
la source
Vous rencontrez toujours le problème. Firebase ayant un OMG qui incitait les développeurs à télécharger les dSYM
Zubair
salut, je suis coincé sur le même problème, avez-vous eu de la chance avec ça? La réponse de @ weet1988 n'a pas résolu mon problème (c'est déjà le dernier script en cours d'exécution dans mon cas)
mikey
1
@mikey J'ai supprimé le script du script d'exécution et j'ai à nouveau ajouté et fermé le xcode.Ensuite, j'ai essayé de réexécuter. Cela fonctionnera
IKKA
En fait, j'ai fait fonctionner Crashlytics sans le upload-symbolsscript. Je viens de mettre à jour les pods vers les dernières versions disponibles et de m'assurer que $ {PODS_ROOT}/Fabric/runc'était le dernier à être exécuté. Merci pour votre réponse @IKKA
mikey
@mikey Vous vouliez dire que vous utilisez uniquement la commande $ {PODS_ROOT} / Fabric / run dans le script d'exécution; droite?
IKKA

Réponses:

5

J'ai eu le même problème. La raison en était que le script "$ {PODS_ROOT} / Fabric / run" n'était pas le dernier de la liste des scripts dans les phases de construction. A fait durer le script et tout est devenu OK.

weet1988
la source
2
mon script est le dernier mais j'obtiens toujours cette erreur ...
Danpe
5

J'ai résolu en ajoutant une findcommande. Ajouter une commande de recherche au-dessus des symboles de téléchargement

Exemple :

trouver "$ {DWARF_DSYM_FOLDER_PATH}" -nom "* .dSYM" | xargs -I {} $ PODS_ROOT / Fabric / upload-symboles -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios {}

"$ {PODS_ROOT} / Fabric / symbol-upload" -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}" "

Ramesh RC
la source
Avons-nous besoin de télécharger d'autres fichiers .dSYM qui ne sont pas un $ {DWARF_DSYM_FILE_NAME}?
CyberMew
@CyberMew, il n'est pas nécessaire de télécharger tout le fichier .dSYM. tu as raison. Nous ne pouvons donc trouver que le fichier que nous devons télécharger. J'ai modifié ma réponse.
Ramesh RC
Je crois que votre réponse d'origine pour télécharger tous les fichiers .dSYM est correcte.J'ai vérifié avec le support, et ils ont mentionné que "Crashlytics aura besoin des fichiers de symboles de votre application principale ainsi que des symboles de n'importe quel framework ou bibliothèque utilisé.", Donc fondamentalement oui, tous les fichiers de symboles sont requis.
CyberMew
C'est super cool !. Lorsque je télécharge tous les fichiers .dSYM pour tester le vol, je reçois un avertissement "ITMS-90381: Trop de fichiers de symboles". Une idée?
Ramesh RC
Télécharger vers test flight? Voulez-vous plutôt dire Firebase Crashlytics? Je ne suis pas sûr car je ne l'ai pas rencontré auparavant, vous pouvez peut-être essayer cette solution stackoverflow.com/questions/25755240/… , si cela ne fonctionne pas, contactez le support et faites-nous savoir ce qu'ils disent!
CyberMew