从命令行调试iPhone应用程序

时间:2010-01-26 11:14:37

标签: iphone debugging command-line

我可以从XCode做到,但我希望能够从命令行启动iPhone应用程序(在设备上)。有可能吗?

为什么呢?因为我想捕获一些用于半自动测试的输出。我猜我需要为NSLog输出使用调试版本,但我也有兴趣了解将NSLog / stdio数据恢复到主机Mac的其他方法。

4 个答案:

答案 0 :(得分:1)

github上有一个名为titanium_mobile的项目(Titanium Developer的一部分)。

我使用该项目中名为iphonesim的实用程序。它从命令行启动一个iPhone应用程序(虽然我不知道如何,我认为有一种方法可以使用SpringBoard.app)。如果您在Titanium Mobile代码中提升一级并查看builder.py,您可以看到他们如何在模拟器中启动应用程序并捕获输出。

答案 1 :(得分:1)

最终,我以不同的方式解决了我的具体需求。我需要从iPhone的加速度计中获取数据到Adobe AIR(Flash)中的原型应用程序。

我在iPhone上使用了这个应用程序,它丢弃了包含X,Y,Z力量的UDP数据包。 http://code.google.com/p/accelerometer-simulator/wiki/Home

从这篇博客文章中发现,可能对尝试做其他类似事情的人感兴趣。 http://ifiddling.blogspot.com/2009/01/dummy2.html

我使用Python脚本向Flash提供服务器,获取UDP加速度计数据包,将它们导入AMF并将其发送到Flash。 Flash使用套接字连接到此服务器并接收加速度计数据。

一些部分,但效果很好。

答案 2 :(得分:0)

如果设备已越狱,您可以在设备上执行此操作。您可以在设备上放置调试版本和符号,然后在其上运行gdb。它完全不受支持,但我听说它有效。不确定是否有一个很好的教程。谷歌?

答案 3 :(得分:0)

一种方法是使用AsyncSocket类,并将您想要从iPhone登录的任何数据传递到Mac上的基本主机应用程序,NSLog会收到它的任何内容。如果您遵循EchoServer应用程序,您应该能够在几分钟内集成它