web-dev-qa-db-fra.com

Incident symbolique dans iOS8 avec Xcode 6 .1

Je symbolisais directement le rapport d'incident dans Xcode 5.1.1 car il y avait "Symbolicate & Re-symbolicate" dans la section Devices de l'Organiseur. Mais après la mise à niveau vers Xcode 6.1, je n’ai plus trouvé d’option pour symboliser ni resymboliquer l’affichage du journal des pannes. Je suis confus. Comment faire?

Auparavant, j'avais l'habitude de synchroniser l'appareil avec iTunes et d'afficher les incidents à partir de ~/Library/Logs/CrashReporter/MobileDevice. En cliquant sur un crash, vous ouvrez Périphériques (Xcode), puis symbolisez. Mais maintenant, il s'ouvre avec la console et aucune option à symboliser. Xcode 6.1 a-t-il une telle option?

12
Honey

Étapes pour symboliser le journal des plantages manuellement dans Xcode 6

  1. Si vous avez archivé la version de la version avant la version, passez à l'étape 2. Sinon, archivez votre version de la version finale (sans modification de code).

  2. Pour localiser votre fichier d'archive, ouvrez l'organiseur -> choisissez votre projet -> choisissez le dernier fichier d'archive -> cliquez dessus avec le bouton droit de la souris -> choisissez "Afficher dans le Finder". 

  3. Faites un clic droit sur le fichier '* .xcarchive' et sélectionnez l'option 'afficher le contenu du paquet' puis allez dans Dossier Produits -> Dossier Applications -> VotreNomApp.app (l'extension .app est cachée dans une machine)

  4. Copiez et collez votre fichier .app à un emplacement différent. Placez le fichier journal des incidents également dans le même dossier. Ouvrez l'application Terminal et accédez au dossier que vous avez collé, via la commande 'cd' 

  5. Et tapez la commande suivante dans le terminal avec votre adresse de crash

xcrun atos -o YourAppName.app/VotreNomApp -Arch armv7 -l 0xbd000 0x0013f745

Remarque: Si la commande ci-dessus ne fonctionne pas, changez "armv7 en armv7s" et cochez.

Exemple: le journal des incidents ressemble à ceci, vous devez obtenir une adresse d’incident et la mettre dans la commande ci-dessus.

3   CoreGraphics                    0x266814d3 CGPathAddLineToPoint + 171
4   YourAppName                     0x00140a8b 0xbd000 + 539275
5   YourAppName                     0x0013f745 0xbd000 + 534341
6   Foundation                      0x27152d6b __NSThreadPerformPerform + 383
7   CoreFoundation                  0x2640a375 
26
Dax

Un plugin est disponible pour Xcode dans le menu Produit. Ce plugin est disponible via Le gestionnaire de paquets Alcatraz ou peut être téléchargé directement depuis github .

Ce plugin incorpore en interne un script Shell qui configure les commandes suivantes pour la symbolisation manuelle des pannes.

  1. Définissez un alias sur le script Perl symbolicatecrash.pl 

alias symbolicatecrash = '/ Applications/Xcode.app/Contenu/Développeur/Plateformes/iPhoneOS.platform/Développeur/Bibliothèque/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Ressources/symbolicatecrash'

  1. Pour trouver symbolicatecrash, doit-il différer de l'alias ci-dessus: 

find /Applications/Xcode.app -name symbolicatecrash -type f

  1. Définissez la variable DEVELOPER_DIR:

export DEVELOPER_DIR = '/ Applications/Xcode.app/Contenu/Developer'

  1. Avec le dSYM, le crash peut être symbolisé par:

symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.

14
MaheshShanbhag

Connectez simplement un périphérique iOS, ouvrez Périphériques> Périphérique> Afficher les journaux du périphérique, puis faites glisser le crash vers la liste des fichiers de crash de ce périphérique. Le crash sera ajouté à la liste et sera symbolisé tant que l'archive d'origine existe.

4
egsemsem

Connectez le périphérique iOS, ouvrez Périphériques (commande shift 2), sélectionnez le périphérique et cliquez sur 'Afficher les journaux du périphérique'. Dans la barre latérale gauche, les journaux des incidents apparaissent. Sélectionnez celui qui vous intéresse. 

Tant que vous avez archivé la construction en cours d'exécution sur le périphérique au moment de l'incident, le journal des incidents est automatiquement symbolisé au bout de quelques secondes. Si ce n'est pas le cas, cliquez avec le bouton droit sur le journal des incidents et sélectionnez «Journal de nouveau symbole». 

0
Tuslareb