我正在准备向应用商店发布一个应用程序,我关心CI/CD管道和代码推送。
这种情况如何发展:
如果开发人员进行NPM依赖性更新,并且有一个更新的包有JS所依赖的本地代码更改,那么code Push还会在用户设备下载本地代码更新之前更新用户设备上的JS捆绑包吗?
我的问题很清楚,我并不是想OTA更新原生代码——我指的是一些像react原生设备信息这样的包有原生Java/Swift代码,也有JS代码,需要原生代码中的一些api或事件常量。如果您将react原生设备信息的软件包版本更改为新版本,并且原生代码和JS代码都发生了更改,那么代码推送是否有任何方法可以知道在原生代码/应用程序更新之前不更新捆绑包,因为JS捆绑包的代码依赖于原生代码?
或者,我是否认为使用"代码推送"工具是错误的?
代码推送的工作方式是更新应用程序的JS捆绑包。您的要求是更新具有本地更改的NPM包,并且只更新您的客户端,这是不可能的。如果你这样做,当JS接触到本机代码时,你的应用程序可能会崩溃。
代码推送是否有任何方法可以知道,在本地代码/应用程序更新之前不更新捆绑包,因为JS捆绑包的代码依赖于本地代码?
简单回答NOCodepush的目标是一个版本号,所以你的新版本在商店里会有一个新的版本号,因此更新旧版本应用程序的捆绑包没有意义。
如果你真的想让所有用户都转到新版本,请使用codepush推送提醒或某种消息,要求用户更新。