核心方法:
利用谷歌的PWA协议将自制的网页在iOS端转为APP
难点:
1.部署到HTTPS静态部署需要挂梯子
2.iOS端也需要挂梯子才能打开部署的网页(同时还需要一个美区账号下载梯子APP)
一、完整步骤
1.先制作一个网页
让AI工具按照你的喜好制作一个网页,最少要包含一个HTML文件(CSS、JavaScript等也可以添加)
2.新建manifest.json文件
作为清单文件:配置 App 名称、桌面图标、启动样式、主题色
3.设计一个icon.png文件
将这个文件作为你的应用图标,并把前面生成的网页文件和icon.png放在同一个文件夹下
4.部署到HTTPS静态托管
Vercel/Netlify/Github Pages都是免费部署的
5.移动端
打开iPhone Safari打开部署的网址-分享-添加到主屏幕
6.测试
(1)关闭网络,点击桌面图标是否可以打开页面
(2)测试摄像头等功能是否可以使用
二、PWA简介
PWA 渐进式网页应用(Progressive Web App)
PWA 不是一种新编程语言,是一套网页增强技术标准,使用普通 HTML+CSS+JavaScript 开发网页,通过manifest.json、Service Worker等技术,让网站拥有接近手机 App 的体验。
1.核心特性
(1)可安装到设备桌面:在 iOS Safari / 安卓浏览器,可把网页添加到主屏幕,生成独立图标,点开全屏运行,隐藏浏览器地址栏,观感和普通 App 一致,不需要应用商店、不用 IPA/APK 安装包。
(2)离线可用:依靠 Service Worker,将网页资源(html、css、js、图片)缓存到手机本地。断网情况下依旧可以正常打开使用。
(3)渐进兼容:旧设备降级为普通网页;现代浏览器启用桌面安装、离线等高级能力。
(4)链接分发:只需要一个 HTTPS 网址即可访问,无需下载安装包。
2.必要组成三件套
(1)网页本体:HTML、CSS、JS 业务代码
(2)manifest.json 清单文件:配置 App 名称、桌面图标、启动样式、主题色
(3)Service‑Worker 服务工作线程:浏览器后台脚本,负责资源缓存、实现离线功能
硬性要求:部署必须 HTTPS(本地localhost开发除外),本地双击打开 html 文件无法启用 PWA 全部能力。
3.iOS(iPhone)上的局限
(1)网页更新部署后,不会自动刷新本地缓存,需要彻底关闭 PWA 再重新打开才加载新版本;修改 service‑worker 版本号触发更新。
(2)划掉 App 后 JS 停止执行,无后台静默任务;推送通知能力残缺,无应用角标。
(3)不支持 Web 蓝牙、WebUSB、WebSerial 等外设接口;部分传感器、ARKit 不可用。
(4)离线缓存有容量上限(约 50MB),长期不打开系统可能自动清空缓存;清除 Safari 数据会一并清空 PWA 缓存。
4.PWA vs 原生打包 IPA(Capacitor)
| PWA | Capacitor 打包 IPA |
|---|---|
| 无需 Mac 电脑,免费,永不过期 | 必须 Mac 编译;普通 Apple ID 签名仅 7 天有效期 |
| HTTPS 网页分发 | IPA 需要 USB 侧载,不能公开分发 |
| 浏览器沙盒,硬件后台能力受限 | 可调用完整 iOS 系统、硬件 API |
| 资源最大约 50MB 离线缓存 | 资源完整打包进安装包,无 50MB 限制 |
5.适合使用场景
✅个人工具、演示页面、轻量 H5 工具,不需要外接硬件、不需要后台运行。
❌需要蓝牙 / USB 外设、大量本地文件、后台任务,建议用 Capacitor 打包 IPA。
6.优点总结
免费、合法、无需上架商店、不用编译 IPA;一套代码同时跑安卓、iPhone、电脑浏览器。