- Creator 版本:1.7.2-beta.1
- 目标平台:(Web / iOS / Android / 模拟器)
- 编辑器操作系统:Mac
在进行热更新检查时,检查回调一直未触发,或者等很长时间才回调检查结果。
代码如下:
return new Promise((resolve, reject) => {
let checkListener: any = new jsb.EventListenerAssetsManager(this.assetsMgr, (event: jsb.EventAssetsManager) => {
let code = event.getEventCode();
cc.log("** CHECK UPDATE Code: ", code);
switch (code) {
case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST:
this.labInfo.string = "没有找到本地文件列表!";
break;
case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST:
case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST:
this.labInfo.string = "下载清单文件错。";
break;
case jsb.EventAssetsManager.ALREADY_UP_TO_DATE:
this.labInfo.string = "已经是最新版本了。";
break;
case jsb.EventAssetsManager.NEW_VERSION_FOUND:
this.labInfo.string = "检测到新版本,需要更新!";
this.progUpdate.progress = 0;
this._needUpdate = true;
break;
default:
return;
}
cc.eventManager.removeListener(checkListener);
checkListener = null;
this.isChecked = true;
cc.log("** CHECK UPDATE DONE(3)!!!");
resolve();
});
cc.eventManager.addListener(checkListener, 1);
this.assetsMgr.checkUpdate();
cc.log("** CHECK UPDATE START(2)!!!");
});
在xcode打印中可以看到,在打印了** CHECK UPDATE START(2)!!!之后很长时间才打印出** CHECK UPDATE DONE(3)!!!
