每次重试都是用户控制的,如果次数太多,可以放弃重试
那更新会失败。缓存中的文件是有可能被清理的。
每次重试都是用户控制的,如果次数太多,可以放弃重试
那更新会失败。缓存中的文件是有可能被清理的。
1.5 正式版 在 main.js 添加的
if (cc.sys.isNative) {
var hotUpdateSearchPaths = cc.sys.localStorage.getItem(‘HotUpdateSearchPaths’);
if (hotUpdateSearchPaths) {
jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths));
}
}
发布 web 版时会报错,
Uncaught ReferenceError: cc is not defined
at main.js:5
at main.js:175
我看了下,你的 main.js 和 1.5的main.js 有很大的不同
感谢你的回答
我有个疑问
如果我想将所有除开main.js 之外的所有资源与代码都加入热更。正确的做法是怎样的。
项目里有多本书需要动态下载(每本书有多个场景,场景、图片、音频,spine均按照目录方式组织),现在用的多个manifest方式,静态资源如图片、音频、spine等压缩成了zip包。可是res/import下的目录怎么和场景对应起来的呢?怎么可以识别出哪些目录是某本书的资源呢?
同问同问
使用 1.5.1.beta2 版本, 热更新时, 发现下载数据的百分比不正确. 请教一下,
case jsb.EventAssetsManager.UPDATE_PROGRESSION:
var percent = event.getPercent() || 0;
这个 percent 是指当前正在下载文件的进度吗? 如果我想获取总下载进度, 应该如何处理呢?
应该是总进度,最新版是0到1。以前的版本是0到100。你试试
在ccc 1.4版本中,生成热更包。在手机上热更新后,发现只有场景和资源热更新而代码没有热更新到。想问有哪些原因会出这种情况呢?
您好,现在热更新,能过苹果的审核吗?
应该过不了,我们原生应用都被下架了
请问你们被下架的原因是什么呢?理论上热更新没有使用任何违禁的接口。这次苹果大规模下架 app 有很多原因,不一定是由于热更新。也可能是跟第三方库有关,也有可能是商品内容问题
想知道怎么去启动其他项目的场景,请问如何在大厅里面启动main.js啊
请教一下楼主,node version_generator.js -v 1.0.0 -u http://your-server-address/tutorial-hot-update/remote-assets/ -s native/package/ -d assets/
用这个生成manifest,那native/package/这个目录是在哪里,这是个什么目录啊。有点不明白。
native/package/
这个是cocos工程发布、编译后的原生工程(安卓/iOS)中的对应的资源目录
##请问这样的代码会不会有问题?
##1.更新完成时:
cc.sys.localStorage.setItem(‘HotUpdateSearchPaths’, JSON.stringify(searchPaths));
这里保存了一个沙盒目录
##2.启动时
main.js :
if (cc.sys.isNative) {
var hotUpdateSearchPaths = cc.sys.localStorage.getItem(‘HotUpdateSearchPaths’);
if (hotUpdateSearchPaths) {
jsb.fileUtils.setSearchPaths(JSON.parse(hotUpdateSearchPaths));
}
}
获取保存的沙盒目录设置为检索目录。
##问题:
ios8后沙盒目录每次“更新”(xcode连线重新运行app)后都会变化吗,这样的话,本地数据库的路径和当前的沙盒目录不一致,会不会找不到已经更新好的资源?还是fileUtils.setSearchPaths有对沙盒目录做过处理?
iOS app 每次从 store 更新后沙盒位置都会改变,理论上 localStorage 内容会失效,我不是非常确定 iOS 有没有做类似的沙盒拷贝。。。