经过测试,发现微信客户端登录SDK有一个BUG。注:目前只在iOS上测试过,可以重现。
BUG重现
1.做一个可以用微信登陆的软件,先安装到设备。
2.更改project的Bundle Identifier,只更改大小写,重新安装到设备。P.S.实际情况是包名大小写修改过引发这个问题。
3.打开第二个安装的APP,选择微信登陆,跳转到微信。
4.点击微信登陆,则会跳转到第一个APP中,而不会跳转到第二个APP。
我的BUG分析
这可能是因为,微信sdk传到微信的是一个bundle identifier+回调函数地址,回调时找到另一个APP再执行回调。
可能在某处进程的名称不分大小写,按照顺序找到了第一个去了。一旦两个APP版本不一致,可能执行到空的地址甚至发生不可预测的行为。
经过测试,发现同一样的版本的APP也发生了崩溃。