迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

如何从 shell 脚本创建简单的 Mac 应用程序

作者:迹忆客 最近更新:2023/01/06 浏览次数:

基本上,Mac 应用程序有一个 .app 扩展名,但它不是真正的文件——它是一个包。 我们可以通过在 Finder 中导航到应用程序,右键单击它然后选择“Show Package Contents”来查看应用程序的内容。

show package contents

内部文件夹结构可能因应用程序而异,但我们可以确定每个 Mac 应用程序都会有一个包含 MacOS 子文件夹的目录文件夹。 在 MacOS 目录中,有一个无扩展名的文件,其名称与应用程序本身完全相同。 这个文件实际上可以是任何东西,但最简单的形式是一个 shell 脚本。 事实证明,这个文件夹/文件结构是创建一个功能性应用程序所需要的!

进入 appify

在这一发现之后,Thomas Aylott 想出了一个聪明的“appify”脚本,可以让我们轻松地从 shell 脚本创建 Mac 应用程序。 代码如下所示:

#!/usr/bin/env bash

APPNAME=${2:-$(basename "${1}" '.sh')};
DIR="${APPNAME}.app/Contents/MacOS";

if [ -a "${APPNAME}.app" ]; then
    echo "${PWD}/${APPNAME}.app already exists :(";
    exit 1;
fi;

mkdir -p "${DIR}";
cp "${1}" "${DIR}/${APPNAME}";
chmod +x "${DIR}/${APPNAME}";

echo "${PWD}/$APPNAME.app";

如果你习惯于使用 UNIX,那么安装和使用 appify 非常简单。 (我不是,所以我必须弄清楚这一点。)以下是安装方法:

  1. 将脚本保存到 PATH 中的目录并将其命名为 appify(无扩展名)。 我选择放在**/usr/local/bin** ,需要root权限。
  2. 启动 Terminal.app 并输入 sudo chmod +x /usr/local/bin/appify 使 appify 在没有 root 权限的情况下可执行。

之后,我们只需启动 Terminal.app 并输入如下内容,即可基于任何 shell 脚本创建应用程序:

$ appify your-shell-script.sh "Your App Name"

显然,这将创建一个名为 Your App Name.app 的独立应用程序,它会执行 your-shell-script.sh 脚本。

之后,如果需要,我们可以非常轻松地向应用程序添加自定义图标。

添加自定义应用程序图标

  1. 使用我们想要的图标创建 .icns 文件或 512×512 PNG 图像,并将其复制到剪贴板 ⌘ + C。 (或者,按照步骤 2 和 3 中的说明从现有应用程序复制它。)
  2. 右键单击要更改其图标的 .app 文件并选择“获取信息”(或选择该文件并按 ⌘ + I)。
  3. 单击一次选择左上角的应用程序图标。 如果你做对了,它会得到一个微妙的蓝色轮廓。
  4. 现在点击 ⌘ + V(粘贴)用新图标覆盖默认图标。

请注意 ,这适用于任何文件或文件夹,而不仅仅是 .app 文件。


示例

Chrome/Chromium 引导程序

我喜欢在启用一些命令行开关或标志的情况下运行 Chrome/Chromium。 在 Windows 上,我们可以创建快捷方式并在其属性中设置我们想要的参数; 在 Mac 上,我们每次都需要从命令行启动它。 好吧,不再是了:)

#!/usr/bin/env bash
/Applications/Chromium.app/Contents/MacOS/Chromium --enable-benchmarking --enable-extension-timeline-api&

最后的 & 不是错字; 它用于确保 Chromium 在单独的线程中启动。 如果没有 &,Chromium 将在我们退出 Terminal.app 时立即退出。

从目录启动本地 Web 服务器

假设我们正在处理一个项目并且想从 Web 服务器调试它。 以下 shell 脚本将使用 Python 从特定目录启动本地 Web 服务器,并在我们选择的默认浏览器中打开索引页面。 应用后,你甚至不需要再打开终端了。

#!/usr/bin/env bash
cd ~/Projects/Foo/
python -m SimpleHTTPServer 8080 &> /dev/null &
open http://localhost:8080/

不用说,可能性是无限的。 再举一个例子,你可以很容易地创建一个应用程序来缩小特定文件夹中的所有 JavaScript 和 CSS 文件。 有什么好主意吗? 通过发表评论告诉我们!

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Mac 上编译 C 文件

发布时间:2023/05/07 浏览次数:157 分类:C语言

本篇文章介绍了如何在 MAC 操作系统上编译 .c 文件。在 Mac 操作系统上编译一个 .c 文件

在 Mac 上更新 Git

发布时间:2023/04/05 浏览次数:196 分类:Git

在 Git 上工作时,应该使用最新版本保持更新以获得它的最新功能。 本文将讨论如何在个人计算机上安装和更新最新版本的 Homebrew 和 Git。

在 Mac 上打开 Git Bash

发布时间:2023/03/31 浏览次数:398 分类:Git

在 Git 中管理版本号 Git 是开发人员使用的最受欢迎和最著名的免费版本控制系统,可帮助他们在团队中安全高效地处理各种程序。 他们可以轻松地跟踪自己的项目,而无需探究彼此的任务。

在 Mac 上运行 PHP

发布时间:2023/03/29 浏览次数:146 分类:PHP

本教程介绍如何在 Mac 上运行 PHP

在 PHP 中从 Hash_hmac() 和 Sha256 创建签名

发布时间:2023/03/29 浏览次数:63 分类:PHP

我们将创建基于字符串的密钥并将它们转换为秘密签名,我们将使用 hash_hmac() 方法和一些最常见的 HMAC 方法进行密码转换。我们还将使用 PHP 中的 sha256 和 hex2bin 和 bin2hex 函数创建一个复

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便