macos - 以“Linux”方式使 macOS 应用程序可编写脚本
问题描述
我已经实现了一个 macOS 应用程序。是否有可能使其可编写脚本?例如 - 假设应用程序的名称是“myApp”,在应用程序中您可以添加/删除新用户,然后按一个按钮,我希望能够从终端控制应用程序,如下所示:
//启动命令:
myApp --addUser '鲍勃'
//当应用程序已经在运行命令时:
myApp --pressButton 'BigRedButton'
或者换句话说,类似:myApp ...
PS - 我知道 AppleScript,但以前从未尝试过,而且对于我想做的事情来说似乎有点太复杂了,所以我想知道是否有另一种方法,或者 AppleScript 是唯一的方法..
解决方案
raywenderlich.com 有两个关于您所询问的脚本类型的优秀教程。
我同意你可以用 Applescript 做很多事情,如果你已经习惯使用这种语言工作,那么做起来也很简单。这是有关如何在您的应用程序中实现 Applescriptability 的教程:
https://www.raywenderlich.com/1033-making-a-mac-app-scriptable-tutorial
但就您而言,是的,如果您正在处理 Applescript,这只是第 1 步。第 2 步是编写一个实际的 Applescript 以将您要执行的命令传递给您的应用程序。
不,这仍然不能满足您的要求。如果您真正需要做的是从命令行传递命令,我将从这里开始:
https://www.raywenderlich.com/511-command-line-programs-on-macos-tutorial
该教程更多地涉及如何创建一个实际的命令行应用程序(即没有实际 GUI 的应用程序),但原理将是相同的,您应该能够使用这些相同的方法在您的应用程序中实现代码这将允许它监听从命令行发出的命令。
推荐阅读
- c++ - 保存到文件实际窗口名称
- amazon-web-services - 有没有更好的方法来构建这个批处理管道?
- python - 事务失败:MIME 部分计数超过 500
- javascript - 每次迭代后如何在javascript中的二维数组中添加新列?
- python - 可以使用按钮在 Kivy 的屏幕上添加另一个标签吗
- java - 在 Java 中生成随机矩阵的最佳方法
- clojurescript - 如何从 ClojureScript 中的 Uint8Array 中获取数据?
- ruby - 从旧版 gem 中清理 gem
- amazon-web-services - 如何从秘密经理那里获得私钥?
- java - 如何将 mongoclient 注入我的 POST 服务