我正在寻找一种实时读取手表系统日志的方法,类似于Device Console或this为iPhone做的方式。
如果我正在阅读时手机将USB插入电脑,这是可以的。
此时我甚至会找到一个解决方案,以某种方式从Xcode调试控制台实时读取文本,真的(虽然我更喜欢以标准方式挂钩到手表的系统日志:)。
谢谢!
答案 0 :(得分:1)
虽然我无法找到从设备获取日志的任何官方方式,但我确实设法编写了一个实时执行此操作的黑客程序。
它使用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设置中的控制台窗口。
(如果您有兴趣,这个黑客代码是为黑客马拉松项目编写的,作为从手表获取快速数据的一种方式,因为它无法在WatchOS2 Beta 4和官方发送任何UDP数据包从手表发送数据的方式[例如sendMessageData:replyHandler:errorHandler:
]对于我们需要的东西来说太慢了。
答案 1 :(得分:0)
我知道这是一个旧线程,但是对于任何进行此搜索的人,都可以这样做:https://forums.developer.apple.com/thread/94693。
总而言之,将诊断配置文件加载到手表上(在论坛帖子中链接),然后可以使用MacOS系统控制台查看手表消息。现在,我遇到一个奇怪的问题,我NSLog()
出现的某些消息没有出现,但是您可以实时查看观看消息。