当新构建的本机更改时如何在旧目标上部署代码推送包

问题描述

在我继续之前,让我让您知道我知道用于代码推送的目标构建的代码

appcenter codepush  release-react -a aountName/appName -d Production -m --description "CommentHere" -t versionName

我试图自己解决这个问题,但我没能做到。

我有几个版本的应用程序,我已经使用 CodePush 部署了这些版本,并且一切正常,但是当我在最新版本上安装新软件包时,我开始担心会崩溃。

这意味着当前的代码库与旧版本相比会有新的原生差异。

问题是我如何使用新的本机代码部署我的新版本 和包呈现给我的应用程序的旧版本,它没有这些 使用旧版本应用程序的所有用户都不会遇到本机软件包的几次崩溃...

我问这个是因为我有一种感觉,如果我将具有新的 UI 更改和本机更改的新版本推送到我的应用程序的旧版本,应用程序旧应用程序会崩溃。

如果旧版本出现错误,我该如何修复和部署它 仅适用于旧版本?错误可能很关键,并不是每个人都会 拥有最新版本的应用程序 或者,该错误可能仅存在于旧版本上 应用程序的版本。

我等待您的回复

解决方法

代码推送不会影响在 Android 或 React-Native 应用程序的 iOS 项目中编写的任何原生代码。如果您仔细阅读文档,它会特别说明它不会更改/修改/更新应用程序的本机部分。

为什么?

这是因为 CodePush 机制的工作方式。本质上,CodePush 只是存储和触发 React-Native 应用的 JS bundle 的更新。

这就是为什么我们只用 CodePush HOC(高阶组件)包装 JS 主应用程序实例。当你这样做时会发生这种情况:

CodePush(MyApp); //wrapping the js bundle at app-root

因此,不幸的是,在您的情况下,如果涉及本机代码,无论部署到应用程序的新版本还是旧版本,都必须是 AppStore/Playstore 驱动的部署。