IOS云打包-测试环境包文件过大

7 阅读3分钟

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.bak
  • manifest: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 中做以下操作确保生效:

  1. 切换 manifest 后再打包

    npm run manifest:test   # 先切换到测试环境
    
  2. 在 HBuilderX 中重新打开项目(或至少关闭再打开 manifest.json 文件),让 HBuilderX 重新加载配置

  3. 然后再点 发行 → 原生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 中重新打开一下项目(关闭再打开),确保云打包读到的是最新的配置,然后就可以正常点「发行 → 云打包」了。