即使已部署新代码,世博会仍使用旧代码

时间:2018-09-25 18:28:58

标签: react-native expo

我有一个使用Expo的React-native应用程序。

在项目开始时,我将一些代码推送到了从未打算在生产中使用的默认发布渠道。

从那时起,我已经发布了数十个版本供生产使用,并且大多数作品都按预期进行。 (新安装会获取最新的JS代码) 但是,即使实际上只是从App Store / Google Play下载了该应用程序,仍然有一些用户仍使用旧版本的代码。

这非常令人沮丧。如何确保新下载的应用程序可以通过我的JS下载正确/最新版本?

请注意,这与应用程序检测到可能可供下载的新代码无关。事实是错误的代码被下载并开始使用。除了我发布的最新版本,是否有任何方法可以删除所有JS代码?我想这会解决我的问题

2 个答案:

答案 0 :(得分:0)

结果是,博览会不一定总是成功完成。发布前,您需要重建react native软件包。https://proandroiddev.com/bundling-react-native-during-android-release-builds-ec52c24e200d

答案 1 :(得分:0)

这是博览会提供的称为“空中更新”(OTA)的功能。每当使用Expo通道构建新版本时,即使在应用商店和Play商店中,它也会自动更新。但是有一种方法可以禁用更新。禁用的博览会文档:

  

通过在app.json中将updates.enabled设置为false,可以完全禁用独立应用程序中的OTA JavaScript更新。这将忽略从Expo的服务器获取应用程序捆绑包的所有代码路径。在这种情况下,您应用程序的所有更新都需要通过iOS App Store和/或Google Play Store进行路由。   在Expo Client中将忽略此设置。

我确实建议您阅读OTA的文档,当您了解所有内容时,这是一个很好的功能。 博览会链接为expo OTA