Essayer de déboguer l'application. Le problème est que je ne trouve pas ce programme.
symbolicatecrash.sh
Sudo cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneRemoteDevice.xcodeplugin/Contents/Resources/symbolicatecrash /usr/local/bin/
S'agit-il d'un téléchargement séparé? J'utilise XCode 3.2.3
Merci.
Vous voudrez suivre les mêmes étapes que celles décrites dans la réponse d'origine (ci-dessous) à quelques exceptions près.
Tout d'abord, vous devez corriger le chemin Xcode. Ouvrez un terminal et exécutez:
/ usr/bin/xcode-select -print-path
Si elle affiche "/ Developer" ou autre chose que "/Applications/Xcode.app/Contents/Developer/", alors c'est faux. Pour résoudre ce problème, exécutez la commande:
Sudo/usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/
Vous pouvez maintenant exécuter toutes les étapes ci-dessous, à l'exception que la commande symbolicatecrash
se trouve (à nouveau) dans un nouvel emplacement. En effet, Xcode s'installe désormais en tant qu'application. Pour trouver symbolicatecrash
exécutez ceci depuis le terminal:
trouver /Applications/Xcode.app -name symbolicatecrash -type f
Cela devrait retourner:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
Avant d'exécuter symbolicatecrash
, vous pouvez aller dans ce répertoire comme:
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/
Recherchez à partir d'un terminal en utilisant:
find/Developer -name symbolicatecrash -type f
Pour moi, cela est revenu:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
Exécutez la commande symbolicatecrash
avec le journal des plantages comme premier argument et votre fichier dSYM comme deuxième argument. Notez que si vous exécutez symbolicatecrash
à partir du répertoire courant, vous DEVEZ mettre ./
devant comme ./symbolicatecrash
sauf si votre variable d'environnement PATH inclut le répertoire dans lequel réside la commande.
J'ai changé pour le répertoire qui avait la commande symbolicatecrash
en premier (note: sera différent pour Xcode 4.3, voir en haut):
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/
J'ai ensuite exécuté la commande suivante:
./symbolicatecrash /somePath/MyCrashLogFile.crash /somePath/MyAppName.app.dSYM
Vous devez avoir l'archive qui a été utilisée pour créer la build avec le crash pour obtenir le fichier dSYM.
Voici les étapes:
Un plugin est disponible pour Xcode dans le menu Produit. Ce plugin est disponible via gestionnaire de paquets Alcatraz ou peut être téléchargé directement depuis github .
Ce plugin incorpore en interne un script Shell qui effectue la configuration de l'exécution des commandes suivantes pour la symbolisation manuelle des plantages.
alias symbolicatecrash = '/ Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash'
trouver /Applications/Xcode.app -name symbolicatecrash -type f
export DEVELOPER_DIR = '/ Applications/Xcode.app/Contents/Developer'
symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.
Une façon de symboliser un journal des plantages est d'exécuter la commande suivante sur le terminal:
xcrun atos -o MyApp.app/MyApp -Arch armv7 -l 0xb7000 -f MyApp.crash
Remplacez l'exemple de nombre hexadécimal (0xb700) dans la commande ci-dessus par l'adresse de chargement de base. L'adresse de chargement de base est la première adresse mémoire de la ligne immédiatement après
"Images binaires:"
Pour obtenir le fichier .app:
Cliquez avec le bouton droit sur le fichier xcarchive et sélectionnez Afficher le contenu du package. Le fichier .app se trouve dans le répertoire Products/Applications.
Comme Apple explique, Xcode essaiera de symboliser automatiquement. Il utilise symbolicatecrash
et spotlight pour le faire. Cependant, si l'application n'a pas été construite localement ou il a été supprimé, les fichiers .app et .dsym nécessaires ne sont pas disponibles.
Gardez donc le fichier dsym et l'application des versions publiées. Les outils de construction compresseront souvent le fichier .dsym dans un .dsym.Zip et conditionneront le .app en tant que .ipa. Vous pouvez décompresser les deux et copier .app et .dsym dans le même dossier. Ensuite, Xcode pourra les trouver en utilisant Spotlight.
Je viens d'écrire un article sur le débogage du journal des plantages il y a 5 minutes ici: http://just2us.com/2010/10/reading-iphone-crashlog/
Vous n'aurez peut-être plus besoin de symbolicatecrash.sh si le glisser-déposer des journaux vers Xcode est suffisant pour votre objectif. J'utilise 3.2.4 et je ne trouve pas non plus le script.
Voici une méthode simple que j'utilise: