LayaBox热更新问题

最近项目出现一个热更新的问题,特此在这记录一下踩过的坑。
项目环境: LayaBox 1.8.5,Native v1.0.5,使用layadcc更新机制
问题描述: 项目原本在ios上有一个正常的版本在运行了,期间的热更新是没有任何问题的。后面又提审了一个版本,在这ios审核的期间,又热更了一些新的内容。审核通过之后,不去appstore主动更新是没问题的(提审只是换了图标),问题就在于,主动去appstore更新之后,新包的资源和代码会覆盖掉原来的,打开游戏就不再会热更,除非后端再有新的内容更新
寻找问题: 在ios工程index.js文件里面,有个updateDcc方法。不难发现,整个资源包的校验码assetsid在提审期间热更之后,已经是最新的了,重新下载新包,assetsid并不会改变,所以新包直接就跳过热更了。
解决问题: 直接跳过判断校验码assetsid,每次都去下载dcc主文件filetable.bin,这样每次都能取到最新的资源和代码的校验值了。(直接屏蔽掉updateDcc方法case2的判断即可)

```case 2:
		 //if (!(curassets != assetsidStr)) return [3, 7];
         log('need update;');
         txtdcc = '';
         return [4, asyncs.downloadSync(urlpath + 'update/filetable.bin?' + assetsidStr, true, null)];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值