IOS云打包-测试环境包文件过大 可以通过脚本配置进行切换打包
✅ 已完成配置
新增文件
| 文件 | 说明 |
|---|---|
src/manifest.test.json | 测试环境 manifest(去掉了 JY-WBCloudFace 插件) |
scripts/switch-manifest.js | 环境切换脚本 |
新增 npm 命令
# 切换到测试环境(去掉 iOS 人脸识别,节省 ~100MB)
npm run manifest:test
# 切换回生产环境(恢复人脸识别)
npm run manifest:prod
# 查看当前环境状态
npm run manifest:status
📖 使用流程
iOS 测试环境打包
# 1. 切换到测试环境
npm run manifest:test
# 2. 在 HBuilderX 中打包 iOS(云打包/自定义基座)
# → 此时不会包含人脸识别 SDK,包体积减少约 100MB
# 3. 打包完成后,切回生产环境
npm run manifest:prod
原理
manifest:test:把manifest.test.json(不含JY-WBCloudFace)覆盖到manifest.json,原生产版本备份到.manifest.prod.bakmanifest:prod:从备份恢复生产版本,删除备份文件- 备份文件已加入
.gitignore,不会被提交到 Git
⚠️ 注意
- 切换后 记得切回来 再打正式包,可以执行
npm run manifest:status随时查看当前状态 - 测试环境下 iOS 端的实名认证人脸识别功能将不可用(Android 不受影响,因为插件声明仍在,只是 iOS 的 framework 文件不会被打包)
- 如果需要更细粒度的控制(比如 Android 测试环境也不要人脸识别),可以修改
manifest.test.json进一步配置
App.vue
云打包也会这样自动切换吗
``
****````
可以的。 HBuilderX 云打包时读取的就是磁盘上的 src/manifest.json 文件,所以切换后云打包会用新的配置。
但有一个需要注意的地方:
⚠️ HBuilderX 可能有缓存
HBuilderX 在运行时可能会缓存 manifest 的内容。如果你通过命令行切换了 manifest,建议在 HBuilderX 中做以下操作确保生效:
-
切换 manifest 后再打包:
npm run manifest:test # 先切换到测试环境 -
在 HBuilderX 中重新打开项目(或至少关闭再打开
manifest.json文件),让 HBuilderX 重新加载配置 -
然后再点 发行 → 原生App-云打包
📋 完整操作流程
┌─────────────────────────────────────────────────────┐
│ iOS 测试环境打包 │
│ │
│ 1. npm run manifest:test ← 命令行切换 │
│ 2. HBuilderX 重启/刷新项目 ← 确保加载新配置 │
│ 3. 发行 → 原生App-云打包 ← 此时不含 iOS 人脸识别 │
│ 4. npm run manifest:prod ← 打包完切回来 │
│ │
│ 📦 iOS 包体积减少约 100MB │
└─────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────┐
│ iOS 正式环境打包 │
│ │
│ npm run manifest:status ← 先确认当前是生产环境 │
│ 直接发行 → 云打包 ← 包含人脸识别 │
└─────────────────────────────────────────────────────┘
💡 更稳妥的做法
如果你担心忘记切回来或者缓存问题,可以写一个更安全的包装脚本,打包完自动恢复:
AskUserQuestion
OUT
Your questions have been answered: "需要添加一个打包完自动恢复生产环境的命令吗?"="不需要,手动切换就行". You can now continue with these answers in mind.
好的,那就手动切换就行。总结一下要点:
📌 使用要点
# 打包 iOS 测试版前
npm run manifest:test # 切到测试环境(去掉 iOS 人脸识别)
# 打包完成后
npm run manifest:prod # 切回生产环境
# 随时检查当前状态
npm run manifest:status
关键点:切换完 manifest 后,在 HBuilderX 中重新打开一下项目(关闭再打开),确保云打包读到的是最新的配置,然后就可以正常点「发行 → 云打包」了。