3 Réponses :


1
votes

Une fois que vous Freopen () 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.

Vous pouvez l'écrire sur stdout ou essayer d'écrire directement sur / dev / console . Je n'ai jamais essayé d'ouvrir / dev / console 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.


0 commentaires

10
votes

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
}


2 commentaires

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.



1
votes

ou vous pouvez rediriger vers une prise TCP et afficher sur un client Telnet distant. Pas besoin de xcode de cette façon!

Fondamentalement:

  1. Créer une fonction C standard C appelte une méthode statique Obj-C: XXX

  2. La méthode statique Obj-C: XXX

  3. puis dans votre fichier .pch, ajoutez les lignes suivantes à la nervure NSLog () XXX

    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


0 commentaires