Est-il un moyen de capturer la sortie de NSLog sur un iPhone lorsqu'il n'est pas connecté à un débogueur?
Je suis de l'enregistrement d'un tas de données avec NSLog()
. Est-il un moyen de capturer les données de log quand mon iPhone n'est pas connecté à mon ordinateur de développement et en cours d'exécution sous un débogueur?
Par exemple, puis-je rediriger vers un fichier, puis lire le fichier journal en arrière à travers Xcode à un point plus tard dans le temps? J'ai besoin de faire cela dans le but de tester mon application quand le WiFi est faible, ce qui nécessite que je m'en aille loin de mon bureau.
Vous devez vous connecter pour publier un commentaire.
Je suis assez sûr que NSLog() appels seront écrites dans le système de journal de la console, donc si vous connectez votre iPhone à votre ordinateur après avoir été en mode hors connexion, vous devriez être en mesure de regarder le journal de la console de XCode Organisateur. Le seul inconvénient est que le journal de la console est limitée en taille, donc les entrées plus anciennes peuvent être frappé au loin si vous faites beaucoup de l'exploitation forestière.
La méthode ci-dessous crée un nom de fichier “de la console.log” dans le dossier Documents de votre application de sorte que vous pouvez plus tard le lire.
Appel de cette méthode au début de votre programme:
Le journal ne sera jamais effacé, donc à utiliser avec précaution.
Une fois que vous avez testé votre application dans le domaine, reconnectez votre téléphone à votre Mac, dans Xcode, ouvrir l'Organisateur. Dans le panneau Résumé, vous avez la liste de toutes les applications sur votre téléphone. Développez-vous de débogage, et vous verrez un package nommé "Application Data".
Cliquez sur la flèche à droite de son nom et de le sauvegarder.
Vous vous retrouverez avec un dossier avec un nom de votre Identifiant de lot suivie d'une date.
À l'intérieur de ce dossier, vous trouverez votre Dossier Documents, qui devrait contenir la console.journal
Il y a aussi un Console application dans l'app Store, mais il ne fonctionne que pour iOS 6 et les versions antérieures.
Quand iOS 7 est sorti, il a effectivement cessé de fonctionner. (Il peut seulement lire ses propres journaux de la Console, pas celui de l'ensemble du système.)
Marc Novakowski est droit. La sortie de la console seront consignées sur le téléphone, et lorsque vous vous connectez à votre Mac de votre téléphone, la sortie de la console est disponible dans l'organisateur de la fenêtre.
Sélectionnez simplement votre téléphone dans le panneau périphériques et sélectionnez l'onglet console. La récente sortie de la console sera là. Très cool.
Je viens de comprendre cela. Qui sera très utile dans de telles situations que vous décrivez là où vous devez vous éloigner de votre ordinateur.
BTW, j'ai une solution à votre besoin de tester la faiblesse des signaux WiFi. Juste envelopper de votre téléphone dans une feuille d'aluminium, avec le câble USB qui sortait de la feuille de papier aluminium. Si vous êtes en cours d'exécution avec elle captif, vous pouvez en une seule étape à travers le code dans le débogueur. Vous ne pouvez pas manipuler l'interface utilisateur, mais vous pouvez dégrader ou éliminer les signaux radio comme 3D, WiFi et GPS. Si vous voulez dégrader la puissance du signal, mais pas l'annuler complètement, vous pouvez avoir besoin d'expérimenter avec qui couvrent partiellement le téléphone avec le papier d'aluminium, mettre des petits trous dans la couverture, etc.
Une prudence: Ne laissez pas le téléphone enveloppé dans du papier d'aluminium pour plus de quelques minutes à une heure. Il sera susceptible de surchauffer.