Xcode 当未连接到调试器时,如何查看Apple Watch上的控制台输出?

Xcode 当未连接到调试器时,如何查看Apple Watch上的控制台输出?,xcode,logging,console,apple-watch,Xcode,Logging,Console,Apple Watch,因此,我试图找出一个问题,当我没有在Apple watch上使用Xcode进行调试时,会出现这个问题。我发现,如果Apple watch没有通过调试器启动,它的控制台输出会出现一些严重问题。给定以下代码: - (IBAction)onPrint:(id)sender { NSLog(@"############## Printing! ##################"); printf("************** Printf! ******************\n

因此,我试图找出一个问题,当我没有在Apple watch上使用Xcode进行调试时,会出现这个问题。我发现,如果Apple watch没有通过调试器启动,它的控制台输出会出现一些严重问题。给定以下代码:

- (IBAction)onPrint:(id)sender
{
    NSLog(@"############## Printing! ##################");
    printf("************** Printf! ******************\n");
}
当通过调试器启动时,它会在Xcode的控制台窗口中显示这两行代码。很好,没有问题

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

我还尝试使用Xcode中的Debug->attachtoprocess菜单连接到watch扩展进程,但它仍然无法打印任何内容。清除控制台,重新加载控制台。。。什么都不管用。我到处寻找答案,尝试了所有标记为接受或不接受的答案,但似乎没有任何效果。这个应用程序非常简单:只需一个按钮,就可以执行上面的代码打印到控制台


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

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

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

这确实很奇怪,因为我能够在控制台上看到日志语句。只是现在,我没有。这是针对Watch OS 6,xcode 11.2.1的

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