ios热更新部分资源更新失败

之前的热更新没出出现问题,今天热更新后,一部分资源更新成功,一部分还是旧的UI。请问下这种情况可能是什么问题导致的?
creator版本:1.9.3
平台:ios

如果热更文件很多就很很容易出问题。我们产品现在又回到cocos2dx开发产品了。

唉,我试过只改一点也不行,那些有问题的预制体怎么改都更新不到。

我们是2.0.2版本,热更偶尔也会出问题,个别用户没法完成更新,重新安装后就能正常更新了,完全找不到重现规律

热更问题是所有用户失败,还是个别用户失败,如果是所有用户失败,就是你热更操作有问题,如果是个别用户误操作,或者网络异常热更失败,那这个问题不好解决。你可以再热更完成之后,去做校验,验证文件是否正确。

只有个别用户失败,热更也不存在用户的误操作,对吧

是所有的用户热更新都会出问题,可能是我更新的方式不对吧。


这里的路径每次都会变,每次下载新的mainfest,好像次数更新多了就会出问题。

我现在改成这里使用固定路径,mainfest文件不更新,每次和最原始的mainfest比较看下以后还会不会出问题

看看是不是没有热更新到一个setting 文件 里面存的是各种prefab等 要把加搜索路径的代码加在加载这个文件前面,在main.js里面改, 不然只要新加的prefab都会更新不到

setting有更新的,前面大概10次左右更新都是正常的,后面就出错了。不知道是不是搜索路径加多了,有些就没生效了

热更一直有会热更失败的bug。比如用户热更新一半强制把应用退掉。或者网络比较差的情况。都会热更失败。但是又把mainfest文件拷贝过去了

而且排除文件下载不对的问题了。因为我对文件做了md5校验,依然会有几率热更失败。没有去看源码查找相关原因。但是现象就是会出现资源和代码不匹配的bug。我紧急修复加了个一键修复的功能。如果你查到相关bug原因。就分享一下。

我线上用户,每次更新东西比较多的时候,都会出现几个热更新失败的。然后一键修复(就是把热更路径和缓存路径内容删除,重新热更)之后,就没问题了。所以应该是c++层assetmanager的问题。

1赞

我记得cocos2d-x有个版本就把热更该为了,先下载到xx_temp文件夹,全部完成后再改名为xx的,creator应该也是这样啊。
这样应该会避免你说的这种问题才对的呀

一键修复是个很好的备案,谢谢啊

一键修复是个好东西。这个bug我看下能不能复现吧,能复现又解决不了的话就留给cocos团队去解决了

翻了cocos的github,assetmanager里有个修改。可以尝试下修改后会不会修复相关bug。
AssetsManagerEx