【发布时间】:2019-05-20 07:27:40
【问题描述】:
热代码推送不会更新 Meteor Cordova 应用的 iOS 用户。如果我将 .png、字体或其他资产添加到我的应用程序并将它们推送到服务器,Android 用户会收到 HCP 更新,但 iOS 用户不会。
一些用户报告它甚至是由于升级到 Meteor 1.8 而没有更改任何资产。
我无法为 iOS 客户获取任何代码更新。有人可以帮忙吗?
【问题讨论】:
热代码推送不会更新 Meteor Cordova 应用的 iOS 用户。如果我将 .png、字体或其他资产添加到我的应用程序并将它们推送到服务器,Android 用户会收到 HCP 更新,但 iOS 用户不会。
一些用户报告它甚至是由于升级到 Meteor 1.8 而没有更改任何资产。
我无法为 iOS 客户获取任何代码更新。有人可以帮忙吗?
【问题讨论】:
这是 Meteor Cordova 插件中的一个已知问题,它会导致热代码推送 (HCP) 发生。正如 Meteor 论坛中所讨论的那样,我在这里链接是因为链接稳定且讨论时间很长,问题是由于 __cordova/manifest.json 包含每个资产的重复版本,其中一个带有 __cordova “url”字段,以及在“url”字段中没有 __cordova 的字段。 webapp 插件尝试在 HCP 期间将两个版本复制/移动到手机上的更新中,而作为资产副本的第二个版本失败,因为资产已经存在,因为它刚刚被第一个实例更新清单中的资产。
您可以通过将资产放入 CDN 而不是本地 /public 目录中并相应地更改代码中对它们的引用来解决此问题,但如果 Meteor 升级到 1.8 有资产更新,这将无法解决此问题,对于某些用户来说似乎是这样。
您还可以应用此处提供的解决方法错误修复 https://github.com/meteor/cordova-plugin-meteor-webapp/pull/59,但这需要更新您的应用的 iOS 手机版本,以便用户可以获得修复,此时您还可以在 iOS 更新中更新您的资产来解决这个问题,但您需要为未来的 HCP 提供修复。
详情在:
【讨论】: