PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

react native更新失效怎么办

藏色散人
藏色散人 原创
2023-01-09 10:41:07 1477浏览

react native更新失效的解决办法:1、直接把ipa包提交app store审核,然后把ipa包upload到pushy平台;2、归档出的ipa包upload到pushy平台,然后把ipa包提交到itunes connect;3、通过xcode编译一个release模式的包到手机,然后用itunes导出该ipa包,再upload该ipa到pushy平台即可。

本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。

react native更新失效怎么办?

react-native 导致热更新失败的问题之一

该文章是本人的一次项目总结,本人项目使用的是react-native-pushy。假设你已经有一个RN项目,且成功配置了pushy服务,接入配置好了热更代码,如果没有请参照react-native-pushy GitHub上的文档进行配置。

问题

最近APP改版后,打了一个新的热更包,然后用老版本APP去热更会出现闪退,debug调试报错如下Unable to execute JS call: __fbBatchedBridge is undefined。

错误操作流程

xcode修改version为1.0.0,然后打一个release模式的包到手机,然后xcode归档出一个1.0.0的ipa包出来,推到热更平台上,然后用这个底包去热更,然后就闪退了。

原因

通过多次复现问题,使用debug模式打印出报错,然后查看GitHub文档,找出原因是我操作流程的问题。热更必须保证pushy平台上的底包和手机上安装的app是同一个。然而我使用Xcode往手机安装的包,简称A,与用Xcode归档出来的包,简称B。A与B虽然代码完全一致,版本号一致,但这就已经是两个包了,所以热更失败。

解决方法

  • 正常情况,直接把IPA包提交App Store审核,然后把这个IPA包upload到pushy平台,用户从App Store下载该版本的包就可以正常更新。

  • 测试时,最好结合Text File,把归档出的IPA包upload到pushy平台,然后把IPA包提交到iTunes connect,测试人员从Text File下载该版本的包安装,然后就可以正常热更了。

  • 如果你的iTunes没有升级,还可以通过Xcode编译一个release模式的包到手机,然后用iTunes导出该IPA包,然后upload该IPA到pushy平台,一样能正常热更。

总结

反正就是保证pushy平台的底包与手机上安装的app一致。

推荐学习:《react视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。