繁体   English   中英

实时读取Apple Watch syslog(NSLog())

[英]Reading Apple Watch syslog (NSLog()) in real-time

我正在寻找一种方式来阅读手表的实时日志,类似这样的设备控制台做的iPhone。

如果我在阅读时可以通过USB将电话插入计算机,则可以。

在这一点上,我什至将寻求一个解决方案,以某种方式确实从Xcode调试控制台实时读取文本(尽管我更喜欢一种以标准方式连接到手表的syslog的方法:)。

谢谢!

虽然我找不到从设备获取日志的任何官方方法,但我确实设法编写了一个可以实时做到的黑客程序。

它使用python GUI自动化库从Xcode控制台窗口中提取文本。

请注意,此解决方案确实有其局限性,因为它:

  • 要求手机通过电缆连接到计算机
  • 仅包含来自您自己的应用程序的日志,因此它与前面提到的工具不符。

但是,它确实解决了我的问题,并且我正在发布简短的python代码,希望对其他开发人员有所帮助。

import atomac

def get_console():
    xcode = atomac.getAppRefByBundleId('com.apple.dt.Xcode')
    return xcode.windows()[0].groups()[0].textAreasR()[1]

def run():
    console = get_console()
    while True:
        clog = console.AXValue[-1000:]
        last_read = clog.split("\n")[-2]
        print last_read

if __name__ == "__main__":
    run()

注意,您可能必须使用get_console()中的某些索引才能在Xcode设置中获取控制台窗口。

(如果您有兴趣,此hack代码是为hackathon项目编写的,作为从手表获取快速数据的一种方法,因为它无法在WatchOS2 Beta 4上发送任何UDP数据包以及从手表发送数据的官方方式[例如sendMessageData:replyHandler:errorHandler: ]对于我们所需的速度来说太慢了)。

我知道这是一个旧线程,但是对于任何进行此搜索的人,都可以执行此操作: https : //forums.developer.apple.com/thread/94693

总而言之,将诊断配置文件加载到手表上(在论坛帖子中链接),然后可以使用MacOS系统控制台查看手表消息。 现在,我遇到了一个奇怪的问题,即我出现了一些NSLog()消息,而其他消息却没有,但是您可以实时查看监视消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM