swift - 如何编辑焦点文本字段? ( swift ,macOS)

标签 swift macos

我正在尝试使用 Swift(新手)为 macOS(不是 iOS)制作一些实用程序。

我猜这个实用程序是 由其他应用程序触发的命令行工具或 菜单栏应用程序。

我实现了我想要的功能, 但我不知道如何编辑焦点文本字段。

例如从文本编辑器(atom、sublime...当此应用程序触发时)获取文本,并对该文本进行一些更改,然后粘贴回文本编辑器。

我想让这个应用程序在系统范围内运行,

我想知道如何实现下面的内容

  1. Get text from currently active/focused text field.
  2. Delete text on currently active/focused text field.
  3. Paste text to currently active/focused text field. (text means just one word or line before the cursor)

我现在正在命令行工具和键盘事件(CGEvent)上尝试这个,这似乎不是个好主意。

请帮忙!

最佳答案

  1. 我认为您需要实现一个系统服务,如 docs here 中所述。 .

    相关部分(尽管您需要阅读全部内容)是 here在“向服务发送数据”或“从服务接收数据”部分(使用粘贴板完成)。

  2. 作为替代解决方案(也许更好),您应该考虑将您的应用打包为共享应用扩展(请参阅 here )

关于swift - 如何编辑焦点文本字段? ( swift ,macOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503247/

相关文章:

java - OS X 上包含单个项目的 TabFolder

objective-c - 如何在Cocoa中构建OSXFUSE.framework?

iphone - 如何制作与 substringFromIndex 一起使用的全局整数?

swift - 如果 ref 不存在但稍后存在,则 Firebase .value 观察者不会监听

iOS 支持外接键盘而不显示

node.js - NPM模块需要从/Users/node_modules/而不是项目目录中获取

ios - 为什么在 MacBook 上查看时我的背景图像会变形?

ios - Swift 对包含计时器的方法进行单元测试

ios - swift 中单个对象的 NSNotification

macos - 尝试在 AppDelegate 中隐藏所有其他应用程序