【问题标题】:How do I view console output on Apple Watch when not connected to the debugger?未连接到调试器时,如何在 Apple Watch 上查看控制台输出?
【发布时间】:2017-05-01 08:52:46
【问题描述】:

所以我试图找出当我在 Apple Watch 上使用 Xcode 进行调试时出现的问题,我发现 Apple Watch 存在一些严重的问题如果不是通过调试器启动的控制台输出。给定以下代码:

- (IBAction)onPrint:(id)sender
{
    NSLog(@"############## Printing! ##################");
    printf("************** Printf! ******************\n");
}

当通过调试器启动时,它会在 Xcode 的控制台窗口中显示两行。很好,没有问题。

但是,如果我手动启动手表应用程序(从手表本身),我通过 Xcode 中的设备窗口在控制台日志中什么也得不到,在 mac 上的控制台应用程序中什么也没有(除了正常的“内核” [0] : 防止空闲睡眠列表”手表不时向控制台发出的消息)。

我还尝试使用 Xcode 中的 Debug -> Attach to Process 菜单连接到手表扩展进程,但它仍然不会打印任何内容。清除控制台,重新加载控制台......没有任何效果。我已经到处寻找答案,并尝试了所有标记为已接受答案的东西,但似乎没有任何效果。这个应用程序非常简单:执行上述代码以打印到控制台的单个按钮。

它只是坏了吗?还是我必须编织其他一些奥术魔法?我在 Apple Watch 2 上运行 Xcode 8.1 和 WatchOS 3.1。

【问题讨论】:

  • 你有想过卡尔吗?只是 watchOS 的限制?
  • 我也在努力解决同样的问题@Karl。我正在使用 Xcode 12 和 WatchOS 7,但在没有 Xcode 调试过程的情况下无法获取日志。

标签: xcode logging console apple-watch


【解决方案1】:

这真的很奇怪,因为我能够在控制台上看到日志语句。只是现在,我不是。这适用于 Watch OS 6,xcode 11.2.1。

【讨论】:

    【解决方案2】:

    可以帮助您的东西称为 sysanalysis:您必须向 iPhone 和 Watch 添加特殊配置文件,这将允许在控制台和通过 sysanalysis 报告查看您的应用程序的日志。提供说明和配置文件here。 如果您正在调试后台任务,重要的是要知道:如果连接到调试器,watchos 的守护进程不会终止已经使用它的后台执行时间限制的进程。

    【讨论】:

      【解决方案3】:

      看起来这只是 WatchOS 的一个限制。我能够取回数据的唯一方法是将日志存储在一个文件中,然后再获取该文件。

      【讨论】:

        猜你喜欢
        • 2015-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-19
        • 2015-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多