没有电缆的iOS app调试

时间:2016-09-27 11:34:58

标签: ios iphone

是否可以登录iPhone上的文件(或以某种方式获取控制台输出)以便稍后阅读,或者直接从手机上阅读?

我需要调试使用有线连接附件设备的应用,因此无法同时连接到XCode。

4 个答案:

答案 0 :(得分:1)

您可以使用PonyDebugger

我一直在使用它来调试网络和CoreData资源,但它也允许使用PDLog登录控制台。

  

PonyDebugger是一个远程调试工具集。它是一个客户端库和网关服务器组合,使用浏览器上的Chrome开发者工具来调试应用程序的网络流量和托管对象上下文。

一些建议:

  • 它在Safari中比Chrome更好。
  • 如果需要,请查看回购问题以使其在您的OSX版本中正常运行。我让它在El Capitan工作。
  • 自动连接对我没有用,请尝试使用本地IP网关地址:
    • e.g。 [debugger connectToURL:[NSURL URLWithString:@"ws://192.168.0.12:9000/device"]];

答案 1 :(得分:0)

Apple真的很遗憾没有为Xcode提供WiFi调试,但对于你的问题,答案是肯定的,你绝对可以将NSLog重定向到日志文件,你可以试试这种方法:

NSLog

注意:如果您使用的某些库也将日志写入Console,则此宏不会将这些日志重定向到您的日志文件,它只能在您自己的源文件中使用{{1}}。

答案 2 :(得分:0)

据我所知,这是不可能的。

您最终可以使用免费且出色的解决方案,例如bugfender,这样您就可以远程获取NSLog记录的数据。这可以帮到你。

答案 3 :(得分:0)

Kevin Xi的方法还可以。您还可以使用AppDelegate的didFinishLaunchingWithOptions方法中的以下代码将NSLog输出重定向到该文件:

NSArray *allPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [allPaths objectAtIndex:0];
NSString *pathForLog = [documentsDirectory stringByAppendingPathComponent:@"log.txt"];
freopen([pathForLog cStringUsingEncoding:NSASCIIStringEncoding],"a+", stderr);