macOS 应用程序中的捆绑命令行工具 — Sam Soffes
发表于
我在航站楼度过了很多时间。在使用 Spotlight 或 Alfred 等工具之前,我会先在 Terminal 中实现一些功能。这是一个例子:
$ c so/bl
# cd ~/Code/soffes/blog
$ s
这 s 别名定义为:
这只是在我选择的编辑器 Sublime Text 中打开当前目录。 我真的很喜欢这让我能够如此快速地开始做某事。 我第一次使用 TextMate 遇到这种模式 mate 命令。太棒了。
对于威士忌(我在空闲时间使用的文本编辑器),我包含了一个命令行工具,它的功能与 subl 命令。对于习惯了这个工作流程并想用威士忌来做到这一点的人来说超级方便。
构建命令行应用程序
创建命令行应用程序非常简单。它只是一个二进制文件,因此您无法捆绑资源或框架。您可以将框架与路径链接起来(也许类似于 ../../Frameworks 在你的应用程序包中),但是如果有人移动你的二进制文件并破坏路径,这可能会很脆弱。我通常使用命令行工具调用主应用程序或静态链接任何共享代码以避免这种情况。
首先,您需要一个新目标。只需选择“命令行工具”macOS 模板即可。现在将您想要的任何内容放入此目标中。 要将内容打印到终端,只需使用 print 在斯威夫特.很容易。
捆绑您的应用程序
在命令行工具的目标中,将“跳过安装”更改为“是”。这将确保您的存档仅包含 Mac 应用程序,因为我们将自行捆绑它。如果您不这样做,您将无法将您的存档上传到 App Store、签署开发者 ID 等。
接下来,在您的 Mac 应用程序中,将命令行工具添加为“目标依赖项”之一。创建一个“新复制文件阶段”并将其命名为“嵌入命令行工具”。将复制阶段的目标设置为“共享支持”。现在,单击该阶段文件列表下的 +,然后从项目的“产品”组中选择二进制文件。就是这样!
现在,当您构建应用程序时,命令行工具将自动构建并复制到您的包中。您可以提供一些 UI 来复制它或更新其路径以将其包含给用户。
享受。
