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?
Étapes pour symboliser le journal des plantages manuellement dans Xcode 6
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).
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".
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)
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'
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
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.
alias symbolicatecrash = '/ Applications/Xcode.app/Contenu/Développeur/Plateformes/iPhoneOS.platform/Développeur/Bibliothèque/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Ressources/symbolicatecrash'
find /Applications/Xcode.app -name symbolicatecrash -type f
export DEVELOPER_DIR = '/ Applications/Xcode.app/Contenu/Developer'
symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.
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.
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».