2 votes

Comment déboguer une application qui fonctionne bien sur le simulateur iOS, mais qui se plante sur l'iPhone X ?

Je suis en train de créer une application avec Cordova, et il semble que dans la dernière version alpha, l'application ne fonctionne que dans le simulateur iOS. Lorsqu'elle est exécutée sur un iPhone X, l'application se plante immédiatement.

Je ne suis pas du tout familier avec le développement de logiciels pour la plate-forme Apple, et je me demandais donc.. :

  • Quelles sont mes options pour comprendre ce qui ne va pas ?

  • Y a-t-il des choses dont je dois être conscient pour éviter un crash silencieux ?

Je sais que nous pouvons relier un iPhone avec le débogueur Safari, mais je suppose que cela ne fonctionnera que pour l'inspection du navigateur, pas pour le débogage de l'application.

3voto

Nimesh Neema Points 44385

Vous pouvez déboguer l'application en l'exécutant sur l'appareil via Xcode.

Tout d'abord, il convient d'établir les conditions préalables. Vous devez avoir accès à un Mac avec une version récente de MacOS et de Xcode installée (de préférence la dernière pour chacun, MacOS High Sierra 10.13.6 et Xcode 9.4.1).

Après avoir préparé votre Mac, accédez au code source de l'application. Ouvrez le fichier xcodepoject pour le fichier projet avec Xcode. Le fichier de projet pour un projet nommé Sample ressemble à ceci dans le Finder :

enter image description here

Une fois que vous avez ouvert le projet avec Xcode, votre prochaine étape sera de le construire avec succès. Faites-le en appuyant sur Shift + Command + r ou en sélectionnant Product Build For Running dans la barre de menu Xcode. Une construction réussie (aucune erreur de compilation) est indiquée par ce HUD affiché sur le bureau :

enter image description here

La prochaine étape serait de l'exécuter sur le dispositif. Connectez votre iPhone X à votre Mac en utilisant le câble Lightning. Vérifiez que l'appareil est connecté et qu'il est reconnu par Xcode, comme cela sera indiqué dans la liste déroulante de sélection de la destination d'exécution dans la barre d'outils Xcode :

enter image description here

Une fois que le dispositif et le nom de l'application sont sélectionnés dans la liste déroulante, comme indiqué ci-dessus, pour exécuter l'application, cliquez sur le bouton de lecture dans la barre d'outils, ou sélectionnez Product Run dans la barre de menu ou utilisez le raccourci clavier. Command + r .

L'application devrait maintenant être lancée sur votre iPhone. Assurez-vous que votre iPhone est déverrouillé et que le Mac et l'iPhone se sont fait confiance. Vous devrez ajouter votre identifiant de développeur Apple enregistré dans Xcode pour pouvoir déboguer l'application sur l'appareil (si ce n'est pas déjà fait).

enter image description here

En supposant que tout ce qui est mentionné ci-dessus est correctement configuré, vous devriez pouvoir lancer l'application sur votre iPhone via Xcode et la déboguer.

Détecter un crash :

Comme vous avez mentionné que votre application se bloque au lancement, je suppose que vous avez obtenu le build sur l'appareil et que vous en faites l'expérience. Pour trouver la raison du crash dans le code de votre application, vous pouvez suivre les étapes suivantes :

  1. Naviguez vers le navigateur de points d'arrêt dans Xcode en appuyant sur Command + 8 ou en sélectionnant View Navigators Show Breakpoint Navigator dans la barre de menu.

  2. Cliquez sur le bouton Créer un point d'arrêt indiqué par + affichée dans la zone inférieure de la barre d'outils.

enter image description here

  1. Sélectionner un point d'arrêt d'exception...

enter image description here

  1. Cliquez en dehors de la fenêtre popup pour la fermer. Assurez-vous que le point d'arrêt est activé pour être en mesure d'attraper la raison du crash.

Bonne chance !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X