关闭应用程序后如何调试

时间:2014-04-01 10:15:27

标签: ios iphone xcode logging gps

我正在尝试重现问题,这需要关闭并重新打开我的应用程序与特定位置。这是我的问题:

1)当我的iPhone未连接到XCode时,如何查看我的日志(使用NSLog命令)?

2)是否可以将iPhone模拟器的特定位置(如城市中心)设置为默认值?我使用GPX文件但每次从头开始运行项目时,该位置都设置为未知。

3 个答案:

答案 0 :(得分:7)

如果您想查看应用程序中的日志
在XCode下选择' Window'子菜单和那里的设备'子菜单(你可以使用shift + cmd + 2)

Device sub menu

在屏幕底部打开的屏幕上,即使它没有处于调试状态,您也会看到来自设备的日志(如果您没有看到它找到小向上箭头在左下角并单击它 log screen )。

如果您的设备未连接,则可以在连接时看到崩溃报告

答案 1 :(得分:3)

回答你的(1)问题: 您可以将日志打印到文件或使用像testflight这样的删除日志框架,而不是使用NSLog。我不确定为什么你必须断开你的应用程序与xcode思想,或者你是否意味着你必须通过关闭应用程序终止debuging会话?如果是这种情况,如果您再次'再次'运行,起点应该与您刚启动应用程序时类似。如果您将应用程序置于后台,则不会取消调试会话。

可能比将它们存储在日志文件中更容易,您只需将日志附加到存储在NSUserDefaults中的数组:

NSMutableArray* logs =
[[[NSUserDefaults standardUserDefaults] objectForKey:@"logs"] mutableCopy];
NSString* log = [NSString stringWithFormat:YOUR LOG HERE];
[logs addObject:log];
[[NSUserDefaults standardUserDefaults] setObject:logs forKey:@"logs"];

如果您使用

,以后可以阅读它们
NSMutableArray* logs =
[[[NSUserDefaults standardUserDefaults] objectForKey:@"logs"] mutableCopy];
NSLog(@"logs %@",logs);

回答你的(2)问题: 我不知道你是否知道你可以让iPhone模拟器模拟没有xcode的位置。当您在iPhone模拟器中时,转到调试菜单(不在xcode中,在模拟器中)并转到该位置。此位置保持在关闭应用程序并重新打开之间。

答案 2 :(得分:0)

我使用iConsole在应用内查看日志。

当我需要同时测试多个设备的应用程序时非常有用,在这种情况下我无法同时将它们连接到Xcode。