顺便提一下,如果您在脚本上获取信息,您可以将其设置为使用终端打开。这将在您双击它时运行脚本。
否则,将脚本打包到 .app 包中是微不足道的。 Mac OS X 将愉快地运行任何标识为应用程序可执行文件的脚本。
至少,您需要以下结构:
名为 (name) 的文件是您的脚本(必须 是可执行的,并且必须 有一个 shebang 行)。 .app 目录和脚本文件中的(名称)必须相同:例如,如果您的应用程序目录名为“My Shell Script.app”,则 MacOS 目录中的文件必须名为“My Shell Script”,并带有无扩展名。
如果这样做不方便,可以使用 Info.plist 文件来指定备用可执行文件名称。 Info.plist 进入 Contents 目录:
如果您在属性列表中将 MyScript 指定为 CFBundleExecutable,则此结构(在名为 Wrapper.app 的包装器中的 MyScript 可执行文件)有效:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>MyScript</string>
</dict>
</plist>
使用 Info.plist 文件可能更可取,因为这将允许您重命名包装器而不会破坏它。
这是一个使用/bin/sh 作为解释器的示例脚本,但你真的可以拥有任何东西(#!/usr/bin/swift、#!/usr/bin/python 等)。
#!/bin/sh
open -a Calculator
脚本将在您双击应用程序包时运行。
您可以在Contents 目录中将您需要的任何其他内容与您的脚本捆绑在一起。如果您喜欢,可以使用 Resources 目录之类的东西重现标准的可执行包布局。