【问题标题】:How debug after closing application关闭应用程序后如何调试
【发布时间】:2014-04-01 10:15:26
【问题描述】:

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

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

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

【问题讨论】:

标签: ios iphone xcode logging gps


【解决方案1】:

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

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

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

【讨论】:

  • 不需要看崩溃,我只想看Debug。
  • 我打印了一些日志,但在这里看不到它们。我错过了什么吗?
【解决方案2】:

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

也许比将它们存储在日志文件中更容易,您只需将日志附加到存储在 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 中,在模拟器中)并转到该位置。此位置在关闭应用程序和重新打开应用程序之间保持不变。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多