【问题标题】:How To Automate a Native OSX Application with VSCode?如何使用 VSCode 自动化本机 OSX 应用程序?
【发布时间】:2016-09-26 16:17:49
【问题描述】:

如何使用 VSCode 以编程方式访问以 Swift 或 Objective-C 编写的本机 OSX 应用程序中的对象?

当我说“使用 VSCode”时,我的意思是使用 VSCode 支持的任何语言在 Visual Studio Code IDE 中针对目标应用程序的对象层次结构进行编码。

理想情况下,考虑两种情况:

  • 我是所述本机应用程序的作者的场景,因此我可以准备它以供 VSCode 访问。
  • 在这种情况下,我不是所述本机应用程序的作者,因此我无法了解“幕后”。

可以使用这样的东西吗? https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/

注意,我希望获得对底层对象层次结构的编程访问,而不仅仅是单击 UI 上的按钮。

【问题讨论】:

  • @mipadi 的回答在一般情况下处理场景 #1。场景 #2 是安全违规。如果您找到了一种方法,请期望该应用程序的作者或 Apple 尽最大努力确保您的方法不会保持开放。

标签: macos visual-studio-code


【解决方案1】:

如果应用程序支持,您可以使用AppleScript。如果是自己写的应用,可以加AppleScript support。

【讨论】:

  • 感谢@mipadi 的回复。你能说 AppleScript 是否会提供对底层对象层次结构的访问吗?还是直接点击 UI 上的按钮?
  • @johnywhy:这取决于应用程序。开发人员可以使用 AppleScript 深入访问应用程序,但开发人员可以通过 AppleScript 公开他们想要的内容。
  • 当您说“使用 AppleScript”时,您的意思是在 AppleScript 中编写我的自动化代码?我相信 VSCode 不支持 AppleScript。虽然,OSX 自动化现在支持 VSCode 中提供的 javascript。 developer.telerik.com/featured/… 但理想情况下,我想使用任何 VSCode 语言来控制 OSX 应用程序对象。
  • @mipadi 链接到的脚本支持功能是通用的。 AppleScript 是这些功能的“原始”客户端,但是当您添加脚本支持时,您还将获得对在 Open Scripting Architecture 运行时上运行的其他语言(如脚本编辑器中的 JavaScript)的支持,以及对使用 Scripting Bridge 的其他客户端的支持,包括Python, Ruby, and native ObjC/Swift.
  • @johnywhy:你想做什么?您是否正在尝试编写某种 VS Code 插件来控制应用程序?
猜你喜欢
  • 2018-03-16
  • 2017-01-17
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2020-09-28
相关资源
最近更新 更多