跳转到内容

2026 年 iPhone 上的 PWA 能做什么、不能做什么

发布于 更新于

WAVX solutions 的 iPhone PWA 盘点把能力分为「能用」和「不能用」,逐项注明版本和前提条件。这家咨询机构于 2026 年 10 月 4 日在 DEV Community 发布盘点,作者称所据资料是 2026 年 10 月 2 日阅读的 WebKit 发布说明、Apple 文档和 MDN 兼容性数据 (WAVX solutions)。

盘点把受支持的能力分为安装与启动、离线与存储、通知以及设备访问四组,并逐项注明 iOS 版本或使用条件 (WAVX solutions)。

从 Safari 把站点添加到主屏幕描述为按常规方式可用,不需要任何清单上的特殊手法。这份盘点 另外记下了一项它定位在 iOS 26 的行为变化:添加到主屏幕的站点一律默认以网页应用方式打 开。它还写到,iPhone 上的第三方浏览器(文中点名 Chrome、Edge 与 Firefox)自 iOS 16.4 起 可以在分享菜单中安装站点;而从 iOS 15.4 起,当页面没有 apple-touch-icon 时,系统会采用清单图 标。WebKit 说明,iOS 从一开始就允许同一网页应用安装多次。iOS 16.4 将用户选定 的主屏幕名称与 manifest id 合起来,用这两个值识别同一网页应用的各次安装。用户在多台设备上 为应用选择同一个主屏幕名称,还能让这些设备同步应用的 Focus(专注模式)设置 (WAVX solutions; WebKit)。

盘点把独立应用窗口的支持时间定在 iOS 11.3,同时注明 MDN 数据把 fullscreen 与 minimal-ui 显示模式列为 Safari 不支持。清单图标的支持也有明确条件:从 iOS 15.4 起,只有 页面没有 apple-touch-icon,且清单图标的 purpose 为 any 或者未设置时,系统才使用清单图标。manifest shortcuts 在 iPhone 上仍列于「不能用」一栏 (WAVX solutions)。

Service Worker 与 Cache API 从 iOS 11.3 起可用。导航预加载(navigation preload)列在 iOS 15.4 起,而这份盘点把 Service Worker 静态路 由 API 的到来记在 iOS 27。MDN 对这 API 的描述是:用来声明静态路由,这些路由「定义了抓取 指定资源的规则,并且在 Service Worker 启动之前就会生效」,其 source 可取 network、 cache、fetch-event 或 race-network-and-fetch-handler;MDN 同时把这项特性归类为在各 浏览器中可用性有限 (WAVX solutions; MDN)。

盘点引用的存储额度数字,即 iOS 17 起每个源约为磁盘的 60%,与 WebKit 自己那篇存储策略文章 一致。该文写明,从 Safari 17.0,以及 iOS 17、iPadOS 17 与 macOS Sonoma 上的 WebKit 应用 开始,浏览器应用中「单个源的额度最多为磁盘总空间的 60%」。该文还写明,以独立模式 从主屏幕运行的网页应用「拥有与在浏览器应用中打开 时相同的单源额度与总额度」。独立模式并不是另设一档的存储层级 (WebKit)。

脚本可写存储的七天规则,据盘点所述,在「用户使用 Safari 满七天且期间没有与该站点发生交互」之 后生效。添加到主屏幕的网页应用有自己的独立计数器,按用户实际使用这个应用的情况计数。 盘点称,Apple 设备上同一网页应用的各次安装各有一份存储。设计登录流程时,要考虑这样的访客: 他们已经在 Safari 中登录过这个站点,随后安装了网页应用,进入已安装的应用后仍需再登录一次 (WAVX solutions)。

同一张表把持久存储请求的支持时间定在 iOS 15.2,并称 Safari 会根据启发式条件作出决定,其中 包括站点是否从主屏幕以网页应用打开。导航预加载列在 iOS 15.4,静态路由列在 iOS 27;与这些 已支持项目相对,Background Sync、Periodic Background Sync 与 Background Fetch 仍列为 不受支持 (WAVX solutions)。

盘点将 Web Push 列为 iOS 16.4 起可用,限定主屏幕 网页应用,授权请求须由点按触发,推送须展示通知。WebKit 自己的发布文 章直接支持前两条。该文写道,「已被添加到主屏幕的网页应用可以请求接收推送通知的授权」,并 限定「只要该请求是对直接用户交互的响应,例如点按一个『订阅』按钮」;该文还确认 iOS 与 iPadOS 16.4 上的主屏幕网页应用支持 Badging API,并与「专注模式」集成,使用户可以精确配置 在何时或何处接收通知。同一篇文章还写道:「你不需要加入 Apple Developer Program 才能使用 它。」盘点另外补上了 iOS 18.4 起的声明式 Web Push,用它无 需 JavaScript 即可展示通知,并指出:若出站流量受限,发送推送的服务器必须能够访 问 https://*.push.apple.com (WebKit; WAVX solutions)。

盘点另行把 Badging API 与 Focus 模式的支持时间都定在 iOS 16.4。iOS 18.4 起的声明式 Web Push 限主屏幕网页应用使用,浏览器无需运行 Service Worker 就能展示通 知。通知操作按钮、图片与振动模式则仍在不受支持的项目中 (WAVX solutions)。

盘点将摄像头与麦克风访问列在 iOS 11,地理定位与 Web Share 列在 iOS 12.2。屏幕常亮锁 (Screen Wake Lock)在 Safari 中从 iOS 16.4 起可用,主屏幕网页应用则要到 iOS 18.4 (WAVX solutions)。

设备表还把 Vibration API 列为不受支持。Contact Picker 从 iOS 14.5 起有对应的偏好设置 开关,默认处于关闭状态,需要启用这个开关才能使用联系人选择功能。getInstalledRelatedApps 同样列为不受支持,也就是 iPhone 上的 PWA 无 法用这项 API 检测配套原生应用是否已安装 (WAVX solutions)。

这份盘点列进「不能用」一栏的内容

链接到“这份盘点列进「不能用」一栏的内容”一节

在 iPhone 上没有 beforeinstallprompt 事件,盘点直截了当地写明,该事件只存在于 Chromium 系浏览器中。MDN 的说法与此一致,并把 BeforeInstallPromptEvent 标注为非标准 (WAVX solutions; MDN)。

盘点把 Background Sync、Periodic Background Sync 与 Background Fetch 列为不受支持,并称 排队的工作只在应用保持打开时才会完成 (WAVX solutions)。

盘点把 Web Bluetooth、Web NFC 与 WebUSB 列为不受支持。在通知范围内,盘点称操作按钮、图片 与振动模式都不可用。它还把 getInstalledRelatedApps 列为不可用 (WAVX solutions)。

安装条件对 iPhone 推送引导的影响

链接到“安装条件对 iPhone 推送引导的影响”一节

盘点认为,内容、电商、预订 或内部工具类产品只把通知当次要功能时,PWA 就足够。需要后台工作、用 Bluetooth 或 NFC 访问硬件、在 App Store 获得曝光,或要求通知触达所有用户的产品, 更适合原生应用 (WAVX solutions)。

盘点建议把安装引导与推送订阅分成先后两步。先向 iPhone 用户展示 iOS 专用安装说明, 告诉他们如何使用分享菜单把站点添加到主屏幕。推送订阅入口有运行模式要求, 应用以独立模式运行时才向用户显示,让用户选择是否接收推送 (WAVX solutions)。

盘点引用的数字是:2026 年 9 月,iOS 占印度移 动端网页访问量的 6.05%,同时注明城市与高端人群的占比更高 (WAVX solutions)。

  • 能力:该页覆盖 OpenPWA 的能力参考内容。
  • 性能:该页覆盖 OpenPWA 的性能指南。
  • 存储:该页覆盖 OpenPWA 的存储、额度与持久化参考内容。
  • 脚本可写存储的七天规则是否适用于所有 iPhone 配置而无需调整,尚未确认。
  • 所有 iPhone Web Push 配置是否都要求推送显示通知,尚未确认。
  • Background Sync、Background Fetch、Web Bluetooth、Web NFC 与 WebUSB 的逐版本支持状态, 尚未逐项完成独立真机测试。
  • 2026 年 9 月印度之外的 iOS 移动网页使用占比,尚无量化数据。
  • iOS 27 是否实现 MDN 所述的全部静态路由条件与来源,尚未确认。

iOS 长期支持多次安装。iOS 16.4 新增的是用 manifest id 和用户选定名称标识 这些安装并同步设置 (WebKit)。