iOS 代码混淆在uni-app热更新后再从应用商店更新后白屏

iOS 代码混淆在uni-app热更新后再从应用商店更新后白屏

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 26.2
HBuilderX类型 正式
HBuilderX版本 4.87
手机系统 iOS
手机版本号 iOS 18
手机厂商 苹果
手机机型 iPhone13
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 第一个版本发布到应用商店。
  • 第二个版本用wgt热更新。
  • 第三个版本发布到应用商店,再从应用商店更新,更新完打开再关闭,再打开就白屏。

预期结果:

  • 使用正常,不白屏

实际结果:

  • 除了tabbar,其他全部白屏。

bug描述:

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


更多关于iOS 代码混淆在uni-app热更新后再从应用商店更新后白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于iOS 代码混淆在uni-app热更新后再从应用商店更新后白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html


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

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

建议:

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

此属典型版本管理问题,非误报,需结合混淆配置与更新流程排查。 内容为 AI 生成,仅供参考

回到顶部