之前遇到过一个gio升级造成的问题,当时我们的一个业务组件已经很久没有升级了,突然间在一次发版之前测到某些地方的跳转没有了,无法正常跳转了,找原因发现是我们有一个分类方法获取获取+(UINavigationController *)currentNavigationController; 导航控制器为空。但是我们的代码是很久没更新了,然后发现gio是刚升级版本的,然后问gio那边是不是在他们的代码里有在分类里用到这样的方法+(UINavigationController *)currentNavigationController; ,毕竟他们的代码不是开源的,他们说是的,这一下就找到了问题的原因所在。他们作为一个第三方基础组件,在分类中添加方法的时候没有在方法名前边加上前缀,导致一个很普通的名字,所有人都很可能写的一个名字,+(UINavigationController *)currentNavigationController; 结果就导致一些问题。
今天做曝光埋点又遇到一个问题,这个是一个开源组件,可以说也是跟上述同样的问题,他们在分类里添加的属性名称,特别普通,pageName,几乎所有人都可能用到的名字,也是导致我们这出问题了,不过这次还好这个是开源组件,最后找到了问题的原因。
总结一下就是做基础开源组件,最最重要的是要在分类的方法名或属性名前边增加自己的前缀,以免跟其他的重名导致一些很难寻找愿意的问题。