web2ios
v0.1.9
Published
web2iOS — scan a Web/H5 project and render a 0-to-1 H5→iOS migration workflow
Maintainers
Readme
web2iOS
独立安装的 CLI:扫描 Web/H5,检测或创建 iOS 工程,写出项目卡,再渲染 从 0 把 H5 迁到 iOS 的工作流文档。
新建的 iOS 工程是 UIKit + Swift(AppDelegate / SceneDelegate / 代码布局),不用 SwiftUI,不用 Storyboard。
npm 包名必须小写,故发布名为 web2ios,命令也是 web2ios。产品名写作 web2iOS。
安装
npm i -g web2ios
npx web2ios onboard --root /path/to/your-h5开发中改源码后:
cd web2ios && npm pack && npm i -g ./web2ios-0.1.9.tgz0 → 1 怎么用
web2ios onboard --root /path/to/your-h5 --name Litemall --prefix Lmonboard / sync 必须已安装完整 Xcode(仅 Command Line Tools 不够)。未安装会提示并停止,不写入 iOS 工程。
- 已有
.xcworkspace/.xcodeproj:直接使用,不必填--name/--prefix - 没有:必须提供
--name(工程 / Target / Scheme 名)和--prefix(类与文件夹前缀,如Cx、Lm)。终端里可以直接询问;脚本/管道环境请把参数写在命令上。不默认App/Cx - 重建:
web2ios onboard --reset-ios --name Litemall --prefix Lm
不要对尚未迁完的项目执行 onboard --phase operate。
一条切片完成 = 总控已派 H5 专家 / iOS 专家 / code review,且取证落盘 + 对齐 H5 + 不丢逻辑 + 图标和背景图来自 H5 + 跨端差异已告知 + review 通过 + 真机跑通。总控勾 inventory.md,不必等用户口头确认。全部勾完后再:
硬约束(禁止发挥):
- 图标必须用 H5 资源,禁止 SF Symbol / 自绘顶替
- 背景图必须把 H5 的图迁过来,禁止用纯色代替
- H5 机制在 iOS 上必然不同时继续做,但回复里必须单独写「跨端差异」给用户看
已 onboard 过的仓库升级 CLI 后执行 web2ios render(或 sync)以刷新文档,不会清掉 inventory 的 [x]。
web2ios set-phase operate扫描支持 UniApp(pages.json)和 Vue SPA(vue + Vite / src/router / src/App.vue)。
其它命令:scan(只改项目卡)、render、sync、status。
已经迁完的产品(operate)
仅当 iOS 已是主产品、H5 只作增量参考时:
web2ios onboard --root /path/to/workspace \
--phase operate \
--h5 your-h5 \
--workspace your.xcworkspace \
--scheme YourScheme