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

> 一份 2026 年 10 月的横向盘点，把 iPhone 网页应用的安装、离线存储、推送与硬件访问分列两栏，并给出每一条背后的版本与前提条件。

WAVX solutions 的 iPhone PWA 盘点把能力分为「能用」和「不能用」，逐项注明版本和前提条件。这家咨询机构于 2026 年 10 月 4 日在 DEV Community 发布盘点，作者称所据资料是 2026 年 10 月 2 日阅读的 WebKit 发布说明、Apple 文档和 MDN 兼容性数据
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

<span id="这份盘点列进能用一栏的内容"></span>

## 可用能力及前提条件

盘点把受支持的能力分为安装与启动、离线与存储、通知以及设备访问四组，并逐项注明
iOS 版本或使用条件
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

### 安装与启动

从 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](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf); [WebKit](https://webkit.org/blog/13966/webkit-features-in-safari-16-4/))。

盘点把独立应用窗口的支持时间定在 iOS 11.3，同时注明 MDN 数据把 `fullscreen` 与
`minimal-ui` 显示模式列为 Safari 不支持。清单图标的支持也有明确条件：从 iOS 15.4 起，只有
页面没有 `apple-touch-icon`，且清单图标的 `purpose` 为 `any` 或者未设置时，系统才使用清单图标。manifest `shortcuts` 在 iPhone 上仍列于「不能用」一栏
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

### 离线与存储

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](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf); [MDN](https://developer.mozilla.org/en-US/docs/Web/API/InstallEvent/addRoutes))。

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

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

同一张表把持久存储请求的支持时间定在 iOS 15.2，并称 Safari 会根据启发式条件作出决定，其中
包括站点是否从主屏幕以网页应用打开。导航预加载列在 iOS 15.4，静态路由列在 iOS 27；与这些
已支持项目相对，Background Sync、Periodic Background Sync 与 Background Fetch 仍列为
不受支持
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

### 通知

盘点将 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](https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/); [WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

盘点另行把 Badging API 与 Focus 模式的支持时间都定在 iOS 16.4。iOS 18.4 起的声明式 Web
Push 限主屏幕网页应用使用，浏览器无需运行 Service Worker 就能展示通
知。通知操作按钮、图片与振动模式则仍在不受支持的项目中
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

### 设备访问

盘点将摄像头与麦克风访问列在 iOS 11，地理定位与 Web Share 列在 iOS 12.2。屏幕常亮锁
（Screen Wake Lock）在 Safari 中从 iOS 16.4 起可用，主屏幕网页应用则要到 iOS 18.4
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

设备表还把 Vibration API 列为不受支持。Contact Picker 从 iOS 14.5 起有对应的偏好设置
开关，默认处于关闭状态，需要启用这个开关才能使用联系人选择功能。`getInstalledRelatedApps` 同样列为不受支持，也就是 iPhone 上的 PWA 无
法用这项 API 检测配套原生应用是否已安装
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

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

在 iPhone 上没有 `beforeinstallprompt`
事件，盘点直截了当地写明，该事件只存在于 Chromium 系浏览器中。MDN 的说法与此一致，并把
`BeforeInstallPromptEvent` 标注为非标准
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf); [MDN](https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent))。

盘点把 Background Sync、Periodic Background Sync 与 Background Fetch 列为不受支持，并称
排队的工作只在应用保持打开时才会完成
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

盘点把 Web Bluetooth、Web NFC 与 WebUSB 列为不受支持。在通知范围内，盘点称操作按钮、图片
与振动模式都不可用。它还把
`getInstalledRelatedApps` 列为不可用
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

<span id="对-pwa-开发者为什么重要"></span>

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

盘点认为，内容、电商、预订
或内部工具类产品只把通知当次要功能时，PWA 就足够。需要后台工作、用
Bluetooth 或 NFC 访问硬件、在 App Store 获得曝光，或要求通知触达所有用户的产品，
更适合原生应用
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

盘点建议把安装引导与推送订阅分成先后两步。先向 iPhone 用户展示 iOS 专用安装说明，
告诉他们如何使用分享菜单把站点添加到主屏幕。推送订阅入口有运行模式要求，
应用以独立模式运行时才向用户显示，让用户选择是否接收推送
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

盘点引用的数字是：2026 年 9 月，iOS 占印度移
动端网页访问量的 6.05%，同时注明城市与高端人群的占比更高
([WAVX solutions](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf))。

## 站内相关条目

- [能力](/zh/reference/capabilities/)：该页覆盖 OpenPWA 的能力参考内容。
- [性能](/zh/reference/performance/)：该页覆盖 OpenPWA 的性能指南。
- [存储](/zh/reference/storage/)：该页覆盖 OpenPWA 的存储、额度与持久化参考内容。

## 尚未验证与存疑之处

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

## 更正（2026-10-14）

iOS 长期支持多次安装。iOS 16.4 新增的是用 manifest `id` 和用户选定名称标识
这些安装并同步设置
([WebKit](https://webkit.org/blog/13966/webkit-features-in-safari-16-4/))。

## 参考来源

- [PWAs on iPhone: What Works and What Does Not (October 2026)](https://dev.to/wavx_solutions_1c671328ad/pwas-on-iphone-what-works-and-what-does-not-october-2026-5cgf)（dev.to）
- [Web Push for Web Apps on iOS and iPadOS](https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/)（webkit.org）
- [WebKit Features in Safari 16.4](https://webkit.org/blog/13966/webkit-features-in-safari-16-4/)（webkit.org）
- [Updates to Storage Policy](https://webkit.org/blog/14403/updates-to-storage-policy/)（webkit.org）
- [InstallEvent：addRoutes() 方法](https://developer.mozilla.org/en-US/docs/Web/API/InstallEvent/addRoutes)（developer.mozilla.org）
- [BeforeInstallPromptEvent](https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent)（developer.mozilla.org）