我正在尝试将AppCenter中的Code-Push实施到我的Ionic v4 App中。 (ref)
我遇到了以下问题:我可以更新该应用程序,但是当我随后关闭该应用程序并再次打开时,它又是旧版本,并显示:
更新已忽略,因为它已回滚
所以我关闭该应用程序后,更新会以某种方式回滚。搜索此问题后,我发现我必须运行
this.codePush.notifyApplicationReady()
启动应用程序。我将此添加到我的代码中,但它也不起作用。如果我在Android模拟器上运行该应用程序并打开日志,则更新后显示:
cordova_not_available
因此,notifyApplicationReady无法正常工作是有道理的,但是为什么科尔多瓦不可用?
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.codePush.notifyApplicationReady().then(value => {
console.log(value);
});
this.codePush.sync({
deploymentKey: 'MY_KEY',
installMode: InstallMode.IMMEDIATE
}).subscribe(status => {
console.log(status);
});
this.splashScreen.hide();
});
}
答案 0 :(得分:1)
您是否使用命令ionic build --prod?此要求将不包括cordova.js,因此,如果应用程序安装了此软件包,cordova将不可用,在ionic4中,我使用ionic cordova构建android --prod来包含cordova.js,然后将www文件发布到代码push serve.it中。哇!