一、bug描述:
点击某ReactNative页闪退,而上个版本是正常的。
二、bug修复全程回顾:
全局断点,定位崩溃原因,发现是jsbundle 文件不存在。直接将该文件添加到工程运行,确实不会再引发崩溃。而该文件是ReactNative生成的,由于对ReactNative的调试不太方便,且上线时间紧迫。所以暂时放弃从技术角度解决。
既然从技术角度短时间解决无望,先定位出现问题在哪次提交。然后对比差异。
经过长时间排查和调试,并没有发现代码有异常,怀疑是某次提交的工程配置文件出错。
基于以上疑点,解决思路:如果能以正确的配置为基础(比如上次发布的版本),让出现问题的分支,对比工程文件的差异,重新提交就能解决这个问题。由于工程文件默认是以二进制形式提交的,如果不知道如何比对,或者不清楚差异内容代表的含义。比较笨的办法是:工程文件使用未出问题的版本,然后Xcode手动重新引用新增删的文件,再提交更新的工程文件。
经过比对,会发现下图中的配置出现bug的分支是没有的。
image.png重新添加该脚本即可(如图),在工程文件中直接添加相应代码应该也是可以的(未测试)。
image.gif
三、总结:
如果代码没有发现问题,就要考虑工程配置是否出错。
网友评论