从命令行调试iPhone应用程序

7

我可以在XCode中完成它,但我希望能够通过命令行启动iPhone应用程序(在设备上)。这是可能的吗?

为什么呢?因为我想捕获一些输出以进行半自动化测试。我猜我需要使用调试构建来获取NSLog输出,但我也很想了解其他将NSLog / stdio数据传回主机Mac的方法。


我可能错了,但我认为如果iPhone没有越狱,你无法访问其cli命令行界面。 - PurplePilot
我认为他想要在电脑上使用CLI启动手机上的应用程序并捕获输出以调试。 - Jackson Miller
https://dev59.com/Xrf4oIgBc1ULPQZFDaAp - Graeme Love
4个回答

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使用套接字连接到此服务器并接收加速度计数据。

有几个部分,但它运行得很好。


1

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

我使用该项目中的一个实用程序称为iphonesim。它可以从命令行启动iPhone应用程序(虽然我不确定如何做到这一点,但我认为可以通过SpringBoard.app来实现)。如果您在Titanium Mobile代码中向上一级并查看builder.py,则可以看到他们如何在模拟器中启动应用程序并捕获输出。


这是一段非常有趣的代码,谢谢分享。我几乎可以在模拟器上让它工作 - 当然也学到了很多关于如何自动构建和启动iPhone应用程序的知识。最终,我找到了一个不同的解决方案来满足我的特定需求,但我认为这种技术总体上是很有意思的。 - atobe

0

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


0

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


这听起来是一个不错的前进方式。最终,我找到了一个不同的解决方案来满足我的特定需求,但我认为这个方法也可以行得通。 - atobe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接