web-dev-qa-db-fra.com

Crashlytics dans iOS ne passera pas au-delà de "Construire votre projet" dans l'application Fabric

J'installe Crashlytics pour mon application iOS. Je l'ai téléchargé via le lien de leur site et j'ai suivi toutes les étapes pour intégrer les frameworks, ajouter le script d'exécution, etc.

Je rencontrais un problème, j'ai donc supprimé les frameworks et décidé de recommencer et d'essayer une nouvelle installation. Mais l'application Fabric a été mise à jour vers une version plus récente et maintenant, lorsque j'essaie de réinstaller Crashlytics dans mon application, cela ne me permet pas de réinstaller les frameworks. Cela va directement de cliquer sur "installer" à l'écran "Construisez votre projet", ce que je ne peux pas passer.

Pour vous aider à configurer votre projet, veuillez le construire maintenant en appuyant sur ⌘B

J'appuie ⌘B, ça se construit et rien ne se passe. Je pense que le problème est dû au fait que j'ai supprimé les frameworks Crashlytics et Fabric de mon projet, mais je ne vois pas comment les rajouter. L'application Fabric ne me donne pas cette option.

72
wanderingme

Passer du commentaire à la réponse. 

Mike de Fabric ici. Si vous sauvegardez dans l'application Mac, cliquez ensuite sur la flèche en haut à gauche, puis sur "+ Nouvelle application". Vous pourrez ainsi tout ré-ajouter.

69
Mike Bonnell

Allez dans les paramètres de construction de votre cible . Recherchez le "Format des informations de débogage" . Configurez-le à partir de "DWARF" dans le débogage et la publication sur "DWARF avec fichier dSYM"

105
Stigblue

Si vous vérifiez le navigateur de ressources, le message suivant peut s'afficher:

"DEBUG_INFORMATION_FORMAT doit être défini sur dwarf-with-dsym pour toutes les configurations. Cela pourrait également être un problème de synchronisation. Assurez-vous que la phase de construction du script d'exécution Fabric est la dernière phase de construction et qu'aucun autre script n'a déplacé le dSYM de l'emplacement généré par Xcode Impossible de traiter eCreditWebWrapper.app.dSYM sur le chemin "

Accédez à Paramètres de construction et recherchez "Format des informations de débogage". Assurez-vous que "Debug" est réglé sur "DWARF with dSYM File". 

Sans le fichier dSYM, Fabric ne fonctionnera pas.

12
Andrew Kozlik

J'ai résolu ce problème de la manière suivante. Suivant les conseils ci-dessus, j'ai commencé à ajouter une nouvelle application à crashlytics. Après avoir ajouté la nouvelle phase de construction "Exécuter le script", je me suis contenté de copier ce texte et de le coller sur le précédent (créé avec Crashlytics) .

Après cela, j’annule l’ajout d’une nouvelle application et retourne à l’UPGRADE. À ce moment, la construction de l'application peut vous permettre de passer à l'étape suivante et vous ne serez plus bloqué sur cet écran. 

5
Oleg Danu

Si le script n'est pas en cours d'exécution, vous avez peut-être coché la case "Exécuter le script uniquement lors de l'installation" dans la section Exécution du script . J'espère que cela vous aidera.

4
Picsou

J'étais coincé sur les phases de construction aussi.

J'ai également décoché "Run script only when installing" et appuyé à nouveau sur commande + B puis je suis passé à l'étape suivante.

4
Ricardo

Quant à Xcode 10.2.1, l'installation automatisée via l'application Fabric Mac ne fonctionnera plus. Les nouvelles applications ne peuvent pas être ajoutées via le guide étape par étape de la nouvelle application.

Vous devez suivre les instructions d'installation manuelle . Téléchargez et ajoutez les 2 frameworks dans votre espace de travail Xcode, puis ajoutez la phase Exécuter le script de construction (et les codes Fabric associés), puis générez l'application. Enfin (très important), exécutez l'application dans un appareil réel.

Une fois que l'application est lancée avec succès, les informations relatives à la nouvelle application sont disponibles dans le tableau de bord Fabric ainsi que dans l'application Mac Fabric (vous devez relancer l'application pour voir la nouvelle application).


Voici les étapes:

  1. Télécharger les 2 frameworks
  2. Faites glisser votre projet vers le délégué de votre application (cochez la case "Copier les éléments si nécessaire").
  3. Compiler le projet/espace de travail dans Xcode
  4. Ajoutez la "Phase de script" comme indiqué ici ; notez que Xcode 10+ nécessite une configuration supplémentaire à Input Files
  5. Ajoutez les codes import et les codes d'initialisation requis dans App Delegate
  6. Ajoutez les clés de l'API Fabric dans Info.plist
  7. Compiler à nouveau
  8. Exécutez l'application dans un appareil réel. Vous verrez la ligne Crashlytics dans le journal Xcode. Si aucun journal ne s'affiche, vérifie si votre modèle actif contient les paramètres OS_ACTIVITY_MODE. Réglez-le sur default si le paramètre actuel est disabled.
  9. Si la ligne Crashlytics apparaît, cela signifie que l'installation manuelle fonctionne. vous verrez votre application apparaître sur le tableau de bord en ligne Fabric.
3
Raptor

vous devez vérifier que la version de votre cible de déploiement est due à "la version iOS minimale de Fabric est 6.0"

2
Taruna

J'ai eu le même problème aujourd'hui. Le problème était que je n'avais pas le script d'exécution:

./Fabric.framework/run <api key>

dans mon projet. Une fois que je l'ai remis, tout a parfaitement fonctionné. J'ai également nettoyé mon projet et supprimé des données dérivées pour être sûr.

2
Swinny89

TL; DR

Appuyez sur votre schéma -> modifier le schéma -> définir la configuration de construction sur "Libérer"

Explication:

La réponse la plus votée semble correcte, mais il existe des situations dans lesquelles vous n'avez pas besoin de crashtamps dans les versions de débogage (qui veut que les plantages soient envoyés lorsque vous venez de développer et d'expérimenter votre code?). Dans ce cas, vous devez désactiver crashsystics en vérifiant les indicateurs de compilation de débogage (hors de la portée de cette question) et pour la première fois lors de l'installation de l'application de génération pour publication afin de permettre à crashlytics de savoir que vous avez créé l'application.

1
Fyodor Volchyok

Dans la phase de construction du script d'exécution, il existe un appel:

./Crashlytics.framework/run <your_api_key_here>

Peut-être avez-vous ajouté des conditions pour le déclencher uniquement sur certaines versions, telles que:

releaseConfig="Release"

if [ "$releaseConfig" = "${CONFIGURATION}" ]; then  
    echo "Running Crashlytics"
    ./Crashlytics.framework/run <your_api_key_here>
fi

afin qu'il ne se déclenche pas simplement sur ⌘B

Voir https://dev.Twitter.com/crashlytics/ios/advanced-setup

1
Eddie Gasparian

Je n'ai pu obtenir que l'application Fabric poursuive le processus d'installation après avoir défini ma cible de construction sur 'Périphérique iOS générique' et créé une archive à partir du menu Produit> Archive.

La simple construction de l'application ou son exécution sur un émulateur ne semble pas déclencher l'application Fabric.

1
ZardozSpeaks

Dans ma situation, je suivais correctement toutes les étapes, mais je restais bloqué sur l'étape d'ajout de phase de construction. Ensuite, je viens de relancer la structure et tout fonctionne correctement

Il existe également d'autres actions possibles:

1) Il suffit de redémarrer Fabric, Xcode et votre Mac . 2) De même, si vous utilisez Cocoapods, modifiez la ligne de phase de construction de

./Crashlytics.framework/run [yourAPIKey] 

à 

"${PODS_ROOT}/Fabric/run" [yourAPIKey]

3) Après la construction du projet, si Fabric cessera de répondre, attendez un peu. Cela a pris environ une minute sur mon Mac.

1
Nikolay Shubenkov

Merci, j'ai résolu le problème en supprimant les dossiers: ~/Library/Caches/com.crashlytics.data ~/Library/Caches/com.crashlytics.mac

0
Zahur

Veuillez vérifier que le script d’exécution que vous ajoutez est destiné à votre cible réelle. Si vous ajoutez des éléments à la cible des tests, il ne sera pas traité tant que vous ne l’aurez pas ajouté à la cible réelle

0
user6229371

Il s'est avéré que je n'avais pas assez d'autorisations pour créer un nouveau projet dans Fabric. La mise à niveau de Member à Admin a résolu le problème.

0
Stacy Smith

Si vous avez plusieurs cibles,

vérifiez que votre sélection de schéma est correcte avant de générer le projet.

0
lee cc

Pour Xcode 10. Ajoutez l'emplacement Info.plist intégré à votre application dans le champ Fichiers d'entrée de la phase de construction:

$ (BUILT_PRODUCTS_DIR)/$ (INFOPLIST_PATH)

Cela a résolu mon problème, j'espère que cela pourra résoudre le problème des autres.

0
S. Bharti

Si vous dupliquez la cible, supprimez le script d'exécution de la phase de construction et ajoutez-le à nouveau pour résoudre le problème.

0
sahiljain

Aucune des solutions ici ne fonctionnait pour moi. Le scénario pour moi était que quelqu'un d'autre ait ajouté le framework Fabric à notre projet et l'ait engagé dans le référentiel. Le script d’exécution sur leur ordinateur a lancé/déclenché le plug-in Fabric, mais n’a pas été lancé/déclenché sur le mien, bien qu’il n’ait pas signalé d’erreurs.

La solution consistait à créer un projet séparé, en utilisant Cocoapods télécharger la même version de Fabric, remplacer le script d'exécution dans notre projet/référentiel (et celui référencé dans le script d'exécution de la cible) par la version téléchargée à partir de Cocoapods. Reconstruisez et le plugin répondra.

En comparant les deux fichiers de script d'exécution, ils sont radicalement différents, mais le script d'exécution de Cocoapods n'était pas un fichier texte à plat et il était illisible. Donc, je ne sais pas ce qui était différent entre les scripts, mais nous avons en quelque sorte obtenu des versions différentes du script tout en utilisant la même version de Fabric.

0
Matt W.

Si vous utilisez Xcode 10.

Project Navigator -> votre projet -> Cibles -> Phases de construction -> votre script d’exécution pour Fabric -> Fichiers d’entrée -> "+" (ajout du fichier d’entrée) -> champ vide et au-delà de cette ligne:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Assurez-vous de supprimer ceci: $(SRCROOT)/

 enter image description here

0
maxwell

Ce que j'ai mal fait, c’est d’ajouter le script à la phase de construction du projet pods au lieu de la phase de construction du projet main, en l’ajoutant à la phase de construction du projet principal a résolu le problème.

0
Menno