钟
  • 发布:2025-12-18 18:35
  • 更新:2025-12-18 18:36
  • 阅读:9

【报Bug】iOS 代码混淆,热更新后再从应用商店更新后白屏。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 26.2

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: iPhone13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

所以版本都开启代码混淆
1:第一个版本发布到应用商店。
2:第二个版本用wgt热更新。
3:第三个版本发布到应用商店,再从应用商店更新,更新完打开再关闭,再打开就白屏。

预期结果:

使用正常,不白屏

实际结果:

除了tabbar,其他全部白屏。

bug描述:

iOS 开启代码混淆,发布到应用商店,第二个版本用wgt热更新,也开启代码混淆,使用正常。
第三个版本发布到应用商店,再从应用商店更新,更新完第一次打开正常,关闭app后再打开,除了tabbar,其他全部白屏,无法使用。
去掉所有混淆代码,打包也不勾选代码混淆,发布到应用商店,再更新一切正常。
只配置了两个几K的js文件混淆。
与手机设备型号和版本无关,试了几个都是这样。

2025-12-18 18:35 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该bug反馈内容基本完整,标题、描述、复现步骤、预期/实际结果及分类信息齐全,但缺少关键代码示例(如manifest.json混淆配置)和wgt热更新具体操作细节,影响精准定位问题。复现步骤清晰但未说明混淆配置方式,可能导致他人难以完全复现。

经分析,此bug高度可能成立。核心问题在于wgt热更新与整包更新的版本不一致性叠加代码混淆导致:

  1. 根据知识库wgt升级版本匹配说明,热更新的wgt包(uniCompileVersion=4.87)与旧版客户端引擎(uniRuntimeVersion可能低于4.87)存在版本差异,虽首次启动正常,但关闭后重新加载时因缓存或还原机制异常引发白屏。
  2. iOS代码混淆需额外配置"supportWKWebview": trueWKWebview混淆支持),若未正确设置可能导致二次启动时JS文件加载失败。
  3. 用户仅混淆少量JS文件,但热更新与整包更新交替进行时,混淆文件版本管理易出错,尤其涉及JS还原机制(原生混淆说明)。

建议:

  1. 检查manifest.json中"plus"->"confusion"配置是否包含"supportWKWebview": true
  2. 确保所有wgt热更新包与当前客户端引擎版本兼容,或改用整包更新避免版本碎片化
  3. 清理应用缓存后重试,或临时关闭混淆验证问题根源

此属典型版本管理问题,非误报,需结合混淆配置与更新流程排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册