Je suis la suggestion dans la réponse ici A > Pour rediriger la sortie NSLog sur un périphérique iOS à un fichier, ce qui fonctionne bien. Le problème est qu'il ne se présente plus dans la console sur l'appareil. Ce que j'aimerais vraiment, c'est un moyen de mettre le flux STDERR à la fois sur la console et le fichier. Est-ce que quelqu'un a une idée de comment faire cela? P>
3 Réponses :
Une fois que vous Vous pouvez l'écrire sur stdout ou essayer d'écrire directement sur Freopen () CODE> Le descripteur de fichier, vous pouvez en lire à partir de celui-ci et faire comme s'il vous plaît avec les données. Quelques idées de Ce vous sera utile. P>
/ dev / console code>. Je n'ai jamais essayé d'ouvrir
/ dev / console code> sur un iPhone, mais je suppose que c'est possible malgré être en dehors du bac à sable. Je ne sais pas comment le processus de révision de l'application le traitera. P>
J'ai trouvé une réponse acceptable sur un autre thread ( nslog () à la fois de la console et du fichier ).
La solution à condition qu'il y ait uniquement rediriger vers un fichier si un débogueur n'est pas détecté, comme celui-ci: P>
if (!isatty(STDERR_FILENO)) { // Redirection code }
Où devrions-nous écrire cela si la déclaration? Dans le délégué de l'application ou devons-nous l'écrire dans chaque contrôleur d'affichage?
Vous devriez écrire cette instruction si l'instruction pour encapsuler le code qui redirige SterrR vers un fichier.
ou vous pouvez rediriger vers une prise TCP et afficher sur un client Telnet distant. Pas besoin de xcode de cette façon!
Fondamentalement: p>
Créer une fonction C standard C appelte une méthode statique Obj-C: P>
La méthode statique Obj-C: P>
puis dans votre fichier .pch, ajoutez les lignes suivantes à la nervure NSLog () P>
Bien sûr, plus de détails sont nécessaires pour gérer la prise TCP. Le code de la source de travail est disponible ici:
https://github.com/Diedler/ios-tcp-logger/wiki/about p> p>
Dupliqué possible de NSLOG () à la fois sur la console et le fichier