我正在寻找一种实时读取 watch 系统日志的方法,类似于 Device Console 的方式或 this为 iPhone 做这件事。
如果我看书的时候手机能通过usb插到电脑上就可以了。
在这一点上,我什至会选择一种解决方案,它以某种方式从 Xcode 调试控制台实时读取文本,真的(尽管我更喜欢一种以标准方式连接到 watch 系统日志的方法:)。 .
谢谢!
最佳答案
虽然我找不到任何从设备获取日志的官方方法,但我确实设法编写了一个实时执行此操作的 hack。
它使用 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 设置中获取控制台窗口。
(如果您有兴趣,此黑客代码是为一个黑客马拉松项目编写的,作为从 watch 获取快速数据的一种方式,因为它无法在 WatchOS2 Beta 4 和官方发送数据的方式上发送任何 UDP 数据包来自 watch [例如 sendMessageData:replyHandler:errorHandler:
] 对于我们需要的东西来说太慢了)。
关于ios - 实时读取 Apple Watch 系统日志 (NSLog()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826382/