博客

在 Mac 上把网站做成应用,用 Safari 或 Pake

打包应用 · · 约 6 分钟

macOS Sonoma 14 及以上的系统里,Safari 的文件菜单有添加到程序坞,大约一分钟就能让网站拥有自己的窗口和程序坞图标。想自己选窗口大小,把设置集中放在一处,或者带到另一台 Mac 上继续用,就换 Pake。

先试试 Safari 的添加到程序坞

用 Safari 打开网页,从文件菜单选择添加到程序坞,也可以点分享按钮再选它,填好名字后点添加。得到的是一个保存在你个人文件夹下“应用程序”里的应用,可以从程序坞或聚焦搜索打开。Apple 的说明写明要求是 macOS Sonoma 14 或更高版本。

和登录关系最大的是,这个网页应用有自己独立的数据。Apple 写明它不和 Safari 共享浏览历史、Cookie、网站数据和设置,所以在 Safari 标签页里登录过的账号不会带进来,需要在应用里重新登录一次。它的设置从菜单栏里的应用名称进入,其中的隐私标签页可以清除它的 Cookie 和缓存,想删掉它就把它从个人文件夹的应用程序里拖进废纸篓。

先试这一步,默认窗口合适、登录也正常的话,后面的事都不用做。

Safari 做不到的部分

添加到程序坞给你的就是网站原本的样子,Apple 的说明里只有名字栏和设置窗口,设置里可以改名称、网址和图标,没有提到初始窗口大小、让窗口浮在其他窗口上面,也没有提到能把设置带到另一台 Mac 的文件。维护五六个网页应用的话,设置就分散在五六个应用里,这正是 Pake 要补上的地方。

Pake 应用是怎么工作的

Pake 应用是一个很小的原生 Mac 应用,它的窗口是 WKWebView,也就是 Safari 所基于的 WebKit 引擎,指向你填的网址。Pake 会把你选的名称、网址、窗口选项和图标记为这个应用的设置,之后编辑应用是原地重装,不是改一个书签。应用安装在 /Applications,那里不可写时安装在 ~/Applications(见应用装在哪里)。引擎属于 macOS,随系统更新,页面的表现和在 Safari 里大致相同。

创建应用

先安装 Pake,要求 macOS 14 或更高,Apple 芯片或 Intel 都行,不需要任何开发工具。然后选一个你真的会常去的页面,比如待读列表或者项目总览。

  1. 在创建页点开搜索应用或粘贴网址,粘贴网址。只写 example.com 会自动补上 https://,粘贴的网址会直接打开它的页面。
  2. 看一下应用名称和应用图标。Pake 会填入网页标题和网站图标,想换图标就点选择…或把图片拖上去,名字起得好认一点,以后聚焦搜索更容易找到。
  3. 把默认尺寸设成能同时看到导航和主要内容的大小,默认是 1200 × 780。
  4. 点创建应用,出现制作完成后点打开。
  5. 需要登录就登录,退出应用再重新打开,确认表现符合预期。

如果网址属于精选里的某个网站,Pake 会打开为它调好的页面,并填上你的网址。

Mac 上要看的几个选项

选项作用默认
隐藏标题栏网页一直铺到窗口顶部,没开时标题栏使用网页的颜色关
深色窗口只让标题栏和窗口边框变深,不改网页关
常驻后台点关闭后应用继续运行开
菜单栏图标在菜单栏显示图标关
无痕浏览每次启动都是干净状态,不保留登录和网站数据关

想保持登录就把无痕浏览关掉,不过网站自己的会话规则仍然可能让你重新登录。隐藏标题栏先在关闭的状态下看过页面再决定要不要开,开了以后留意网页顶部的按钮是否还容易点到。每个选项的完整说明在创建应用,哪些设置改窗口框、哪些改页面,见窗口教程。

调整、更新和移除

在我的应用里点编辑,改好后点保存修改。编辑会保留应用的登录状态,也不会占用新的免费名额。改默认尺寸会清掉之前记住的窗口大小,改网址会清掉应用上次记住的页面(见管理应用)。

运行时有新版本时,这一行会出现更新,更新会保留名称、图标和登录状态(见更新)。要删除应用,用 ⋯ › 移到废纸篓,应用会进废纸篓,数据仍留在这台 Mac 上。

出问题时怎么查

  • 登录页打不开或者反复跳转。Google 等服务商会拦截内嵌网页视图里的登录,Mac 上除了 Sign in with Apple,Pake 都把登录页留在应用自己的窗口里,新窗口在应用内打开对它们不起作用,服务商拒绝的话就在浏览器里用那个网站(原因见登录排查)。
  • 网站提示浏览器不受支持,见 User Agent 教程。
  • 每次都要重新登录,先确认无痕浏览是关的,再看网站自己是不是很快让会话过期。
  • 第二个账号总把第一个挤下线,用添加另一个账号另建一个应用(见多账号教程)。
  • 要换新 Mac,导出配置再到新电脑上重新创建,Cookie 和登录状态不会随之迁移(见换电脑迁移)。

Safari 还是 Pake

你想要用什么
给一个网站放一个程序坞图标,什么都不用装Safari 的添加到程序坞
自己选窗口大小或标题栏Pake
好几个网页应用一起管理和导出Pake
在终端构建,或者要 Linux 版Pake CLI

常见问题

macOS Ventura 或更早的系统能用添加到程序坞吗

Apple 标明这个功能需要 macOS Sonoma 14 或更高。更早的系统上 Pake 也要求 macOS 14,只能先把页面留作书签。

Safari 网页应用会共用我在 Safari 里的登录吗

不会。Apple 写明它不和 Safari 共享 Cookie 和网站数据,需要单独登录。

没有网络时应用还能用吗

只能到网站本身支持的程度,应用每次都会加载网站。

Pake 应用装在磁盘的什么位置

在 /Applications,那里不可写时在 ~/Applications,可以通过启动台、聚焦搜索或访达找到。