簡體   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