因此,当我在Apple手表上使用Xcode进行 调试时,我正试图找出问题,并且我发现了Apple如果没有通过调试器启动,Watch会出现控制台输出的严重问题。给出以下代码:
- (IBAction)onPrint:(id)sender
{
NSLog(@"############## Printing! ##################");
printf("************** Printf! ******************\n");
}
通过调试器启动时,它会在Xcode的控制台窗口中显示两行。太好了,那里没有问题。
但是,如果我手动启动手表应用程序(从手表本身),我通过Xcode中的设备窗口在控制台日志中得不到任何内容,并且Mac上的控制台应用程序中没有任何内容(除了正常&# 34; kernel [0]:防止空闲睡眠列表"手表不时向控制台发出的消息。
我还尝试使用Debug - >连接到手表扩展程序。附加到Xcode中的Process菜单,但仍然无法打印任何内容。清除控制台,重新加载控制台......没有用。我一直在寻找答案,并尝试了所有被标记为已接受答案的答案,但似乎没有任何效果。这个应用程序非常简单:一个按钮,执行上面的代码打印到控制台。
刚刚坏了吗?还是我必须编织其他一些神秘的魔法?我在Apple Watch 2上运行Xcode 8.1和WatchOS 3.1。
答案 0 :(得分:1)
看起来这只是WatchOS的限制。我能够获取数据的唯一方法是将日志存储在文件中,然后再获取文件。
答案 1 :(得分:0)
可以帮助您的东西称为sysanalyse:您必须为iPhone和Watch添加特殊配置文件,这样才能在控制台和sysanalyse报告中查看您的应用程序日志。提供说明和配置文件here。 如果你正在调试后台任务,重要的是要知道:如果连接到调试器,watchos的守护进程将不会终止已经使用它的后台执行时间限制。
答案 2 :(得分:0)
这真的很奇怪,因为我能够在控制台上看到日志语句。只是现在,我不是。这适用于Watch OS 6,xcode 11.2.1。