2017-01-06 52 views
0

我正在嘗試使用Swift(newbie)使用macOS(不是iOS)的小工具。如何編輯焦點文本字段? (Swift,macOS)

我想這個工具應該是 由其他應用程序觸發的命令行工具或 菜單欄應用程序。

我實現了我想要的功能, 但我不知道如何編輯焦點文本字段。

例如從文本編輯器中獲取文本(原子,崇高,...當此應用程序觸發時),並對該文本進行一些更改並粘貼迴文本編輯器。

我想使這個應用程式適用於全系統,

我想知道如何實現以下

  1. 東西從當前活動/聚焦文本字段獲取文本。
  2. 刪除當前活動/聚焦的文本字段上的文本。
  3. 將文本粘貼到當前活動/聚焦的文本字段。 (文本意味着只有一個字或行的光標前)

我的命令行工具和鍵盤事件(CGEvent)嘗試這個現在似乎沒有什麼好主意。

請幫忙!

回答

0
  1. 我認爲你需要實現一個system service,像docs here描述。

    「將數據發送到服務」或「從服務接收數據」(使用粘貼板完成)中的相關部分(儘管您需要全部閱讀)爲here

  2. 作爲一個替代的解決方案(也許更好),你應該考慮包裝你的應用程序作爲共享應用程序的擴展名(見here

+0

謝謝,但它似乎比我想象的難得多。 –

0

看看在ApplicationServices framework MacOS的輔助功能。具體而言,帶有「AX」前綴的類(這些是可訪問性的)。這不是最好的工作(特別是在Swift中),但是你可以用它來實現你想要的。