PakePlus-iOS
更新于 2026-10-08 14:37:34
PakePlus-iOS:网页转 IPA 的云端编译模板
PakePlus-iOS 是 PakePlus 家族里负责 iOS 的那半台机器:一个 SwiftUI + WKWebView 的 Xcode 工程模板,靠 GitHub Actions 的 macOS runner 编译并打包,最终产出 IPA。和 Android 模板一样,它不是给普通用户下载的 App,而是客户端在云端打包时 fork 到你账号的模板仓库。
它是什么
- workflow
Build IPA,跑在 macOS runner(工作流里用 macos-26); - 环境:最新稳定版 Xcode + Node 22 + pnpm 10 +
appicon(从 app-icon.png 自动生成 AppIcon 资源); - 关键点:
xcodebuild ... CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO—— 不签名构建,再把 .app 放进Payload/目录 zip 成 IPA,用 softprops/action-gh-release 发到 Releases; - 工程结构:
PakePlus/WebView.swift(WKWebView 宿主)、ContentView.swift、SideBarView.swift、TabBarView.swift(侧栏 / 标签栏布局)、custom.js、vConsole.js、index.html;另有webclip/、control等辅助目录; - 兄弟仓库:PakePlus(桌面端 + 客户端 UI)、PakePlus-Android(出 APK)。
怎么用
- 用 PakePlus 客户端新建 iOS 项目,填网址、图标、应用名与版本号;
- fork 本模板 → 触发 Build IPA → 完成后在 Releases 里下载
名字-版本.ipa; - 未签名的 IPA 不能直接装:用 AltStore / Sideloadly / 爱思助手等自签工具,或用自己的开发者证书重签后再安装。
注意事项
- IPA 默认未签名:这是模板省掉证书与 99 美元年费的策略,也决定了它只能自用或小范围内测,不能上架 App Store;
- 苹果生态的天然限制:免费自签通常 7 天到期、每台设备需手动信任、可安装设备数量有限;
- macOS runner 的计费高于 Linux(私有仓库尤其明显);
- 和 Android 一样,最终体验取决于被套的网页有没有做移动端适配。
二开建议
- 改
PakePlus/WebView.swift里的加载逻辑:进度条、下拉刷新、UserAgent、外链处理; - 侧栏 / 标签栏在
SideBarView.swift、TabBarView.swift,可以改成移动端更常见的底部 Tab; - 要真机分发:把 workflow 换成 exportArchive + 自己的签名描述文件,或接入 fastlane match;
- 只有静态单页时,也可以参考仓库里的
webclip/思路,走 Web Clip 描述文件路线,连 IPA 都不用出。
一句话总结
PakePlus-iOS 把「SwiftUI 套壳 + Xcode 云端编译」封装成模板,几分钟就能拿到一只 IPA;但默认不签名,装机和分发那一步得自己补上。