7
votes

Débogage de l'application iPhone de la ligne de commande

Je peux le faire de Xcode, mais je souhaite pouvoir lancer une application iPhone (sur l'appareil) à partir de la ligne de commande. Est-ce possible?

pourquoi? Parce que je veux capturer une partie de la sortie des tests semi-automatisés. Je suppose que je dois utiliser une construction de débogage pour la sortie de NSLog, mais je serais également intéressé à connaître d'autres méthodes pour obtenir des données NSLOG / STDIO à l'hôte Mac.


2 commentaires

Je pourrais bien me tromper mais je pensais que vous ne pouviez pas obtenir au CLI sur l'iPhone à moins que ce ne soit JailBroken?


Je pense qu'il souhaite utiliser la CLI sur son ordinateur pour lancer l'application en mode de débogage sur le téléphone et capturer la sortie.


4 Réponses :


1
votes

Il y a un projet sur GitHub appelé Titanium_mobile (une partie du développeur de titane).

J'utilise un utilitaire de ce projet appelé iPhonesim. Il lance une application iPhone de la ligne de commande (bien que je ne sais pas comment, je pense qu'il y a un moyen de le faire avec Springboard.app). Si vous prenez une étape sur un niveau dans le code mobile de titane et consultez Builder.py Vous pouvez voir comment ils lancent une application dans le simulateur et capturent la sortie.


1 commentaires

C'est un morceau de code très intéressant à mien, merci. Je pourrais presque le faire travailler sur le simulateur - certainement appris beaucoup sur la construction d'une application iPhone de lancement automatiquement. À la fin, j'ai trouvé une solution différente à mon besoin spécifique, mais je pense que la technique est d'intérêt en général.



0
votes

Vous pouvez le faire sur l'appareil s'il s'agit de JailBroken. Vous pouvez mettre une construction de débogage et des symboles sur votre appareil et exécuter GDB dessus. C'est totalement non pris en charge mais j'entends ça marche. Pas sûr s'il y a un bon tutoriel. Google?


0 commentaires

0
votes

Une méthode serait d'utiliser le asyncsocket classe, et transmettre quelles que soient les données souhaitées Pour vous connecter à l'iPhone à une application d'hôte de base sur le Mac, quels nslogs quoi qu'il reçoive. Si vous suivez l'application Echoserver, vous devriez être capable de l'intégrer en quelques minutes


1 commentaires

Cela ressemble à une bonne voie à suivre. À la fin, j'ai trouvé une solution différente à mon besoin spécifique, mais je pense que cela fonctionnerait.



1
votes

En fin de compte, j'ai résolu mes besoins spécifiques d'une manière différente. J'avais besoin d'obtenir des données des accéléromètres de l'iPhone dans une application prototype dans Adobe Air (Flash).

J'ai utilisé cette application sur l'iPhone qui goutte des paquets UDP avec des forces X, Y, Z. http://code.google.com/p/acceleromètre-simulator/wiki/ Accueil

a révélé que de ce blog post qui pourrait intéresser les personnes qui essaient de faire d'autres choses similaires. http://ifiddling.blogspot.com/2009/01/dumy2.htmlleight/a >

J'ai utilisé un script Python pour présenter un serveur pour clignoter, saisir des paquets d'accéléromètre UDP, les munier dans AMF et les envoyer à Flash. Flash utilise une prise pour se connecter à ce serveur et recevoir les données d'accéléromètre.

Quelques parties, mais cela fonctionne bien.


0 commentaires