Meteor Cordova 如何防止自动更新?

3
在Cordova中加载iOS应用程序时,会通过cordova_autoupdate.js开始下载文件。我该如何限制或完全禁用它?这会导致性能问题! 我已经尝试过:
if (Meteor.isCordova) {
   Meteor._reload.onMigrate(function() {
     return [false];
   });
}

但是那样做并没有起作用。

我还尝试过设置环境变量(AUTOUPDATE_VERSION)来绕过热代码推送。但不起作用:

if (Meteor.isServer) {
    process.env.AUTOUPDATE_VERSION = 'false';
}
2个回答

2
最终我只是在构建后更改了自动更新包。我将此作为自述文件的一部分:
您需要进入project/www/application/文件夹。有一个.js文件(通常以大型字母数字值为前缀,例如826e1dd622c68e4b1adccfeb2bbf339d89af041f.js)。打开该文件并查找autoupdate_cordova.js。它旁边是t=30,s=5的值。将它们更改为t=0,s=0。这将停止自动更新下载(t是最大并发下载数,s是重试计数)。请参阅以下链接以获取有关自动更新包的更多信息:https://github.com/meteor/meteor/blob/devel/packages/autoupdate/autoupdate_cordova.js

那是我接下来要建议的。我在问题页面的底部找到了它:“好吧,使用Reload._onMigrate禁用cordova热代码推送是不可能的,因为迁移机制是不同的。我为了防止热代码推送而将autoupdate克隆到我的app/packages中,然后只需注释掉这一行 https://github.com/meteor/meteor/blob/devel/packages/autoupdate/autoupdate_cordova.js#L211。” - thoughtcrime

0
你关闭了自动发布吗?链接到Todo教程禁用Autopublish步骤。从你的文件夹中,你需要一个命令提示符、Git Bash或者任何你用来启动本地实例的工具。meteor remove autopublish将会移除该模块。我对iOS不是特别熟悉,但如果Meteor通过autopublish请求,那么Cordova似乎正在尝试传递。同时,从文档中可以找到相同的信息。

我尝试使用“remove autopublish”命令,但应用程序显示自动发布不在项目中。 - Anton Chan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接