繁体   English   中英

如何在不使用“expo publish”并将更新推送给我的用户的情况下创建我的裸 React Native 应用程序的发布版本?

[英]How can I create a release build of my bare React Native app without using “expo publish” and pushing updates to my users?

我是 React Native 开发的新手。 我使用 expo 创建了一个 React Native 应用程序。 我最终将它弹出到裸工作流中。 到目前为止一切都很好。 我能够为 Android 和为 iOS 的 an.ipa 构建应用程序包。 在构建应用程序并将其部署到两个应用程序商店之前,我使用“expo publish”来更新代码/捆绑包。

稍后在进一步开发应用程序时,我输入了“expo publish”,因为我想构建一个独立的包来测试发布版本。 我不断在我的发布版本中获取缓存版本,expo 发布似乎是唯一可以更新我的发布版本的东西。 我没有意识到这是在向我的所有用户推送 OTA 更新。 我认为它只是将更新推送到 expo 服务器,我可以选择加入或退出 OTA 更新。 幸运的是,它工作正常。

现在,我进一步开发了该应用程序。 在 iOS 上,调试版本很好。 但是,我无法在 iOS 发布版本上获得更新的捆绑包。 我得到旧代码。 为什么? 我不明白这个过程。 我什至试过这个脚本:

react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets

我认为这将构建一个新的“更新”包。 没运气。 我什至从 ios 目录中删除了我的 main.jsbundle 文件并重建它,但仍然得到旧代码。

我不想使用 OTA 更新。 我只想构建一个独立的应用程序。 我做错了什么,我该如何解决? 这是一个非常令人沮丧的过程。

一定要开始使用发布渠道,例如分期和生产来保护您的用户。 您可以发布到这些特别喜欢

expo publish --release-channel staging

同样,您可以构建这些渠道,例如

expo build:ios --release-channel staging

expo 文档解释得很好: https://docs.expo.io/distribution/release-channels/#publish-with-channels

最后,由于您使用的是 Bare Workflow,请查看 Expo 团队最近发布的关于 OTA 改进更新的博客

https://blog.expo.io/over-the-air-updates-from-expo-are-now-even-easier-to-use-376e2213fabf

您可能感兴趣的是“这个新的(发布版本)更新不会自动发布,只会存在于与其捆绑的二进制文件中”

OTA 更新很棒,但您需要了解它们的工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM