Ios 关闭应用程序后如何调试

Ios 关闭应用程序后如何调试,ios,iphone,xcode,logging,gps,Ios,Iphone,Xcode,Logging,Gps,我正试图重现这个问题,这需要关闭并重新打开我在特定位置的应用程序。以下是我的问题: 1) 当我的iPhone未连接到XCode时,如何查看日志(使用NSLog命令) 2) 是否可以将iPhone模拟器的特定位置(如市中心)设置为默认位置?我使用GPX文件,但每次从头开始运行project时,位置都设置为未知。回答您的(1)个问题: 您可以将日志打印到文件中,或者使用类似testflight的删除登录框架,而不是使用NSLog。我真的不知道为什么你必须断开你的应用程序与xcode Think的连接

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

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

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

回答您的(1)个问题: 您可以将日志打印到文件中,或者使用类似testflight的删除登录框架,而不是使用NSLog。我真的不知道为什么你必须断开你的应用程序与xcode Think的连接,或者你的意思是你必须通过关闭应用程序来终止调试会话?如果是这种情况,如果你只是再次“运行”,那么起点应该与你刚刚启动应用程序的起点相似。如果将应用程序置于后台,则调试会话不会取消

可能比将日志存储在日志文件中更简单,您只需将日志附加到存储在NSUserDefault中的数组即可:

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中),然后转到位置。此位置在关闭应用程序和重新打开应用程序之间保持不变。

我用于查看应用程序内部的日志


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

如果您想查看应用程序中的日志
在XCode下选择“窗口”子菜单和“设备”子菜单(您可以使用shift+cmd+2)

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


如果您的设备未连接,您可以在连接时在此处查看崩溃报告

可能的重复项仅适用于问题2。问题1是“无需查看崩溃”的重复项,我只想查看调试。我打印了一些日志,但在此处看不到它们。我错过什么了吗?