关闭应用程序后如何调试

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

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

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

如果要查看应用程序中的日志
在XCode下选择’Window’子菜单和’Devices’子菜单(你可以使用shift + cmd + 2)

设备子菜单

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

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

回答您的(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中,在模拟器中)并转到该位置。 此位置在关闭应用程序并重新打开之间保持不变。

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

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