iOS [UIKeyboardLayoutStar release]

来源:互联网 发布:淘宝图片尺寸修改软件 编辑:程序博客网 时间:2024/06/05 03:26

今天在处理友盟上的bug统计时,发现了一个奇怪的问题:

[JQIndicatorView  appWillEnterBackground] crash

很快在工程里面找到了对应的代码,可是这个代码没有看出任何问题。

打好断点,并在工程中勾选address sanitizer和zombie objects,让程序运行到相应代码,然后按home键退到后台,果然!问题重现了。

可是,打的断点没有相应,说明代码没运行到就挂了。

查看log,发现有这么一行信息提示:

[UIKeyboardLayoutStar release]: message sent to deallocated instance XXX(XXX是地址,我没贴上来)。

这个就很奇怪了,工程里面没有这样的代码,全局搜索都没有。找度娘,说是有用到库DurexKit,这个库是swizzling了NSArray,NSDictionary的方法,我们的代码没有用到这个库,但是我们自己写了一些类似的代码,用以处理数据越界导致的程序crash,我试着把这些类从工程删掉,crash问题就没有了。

问题是解决了,但是网上始终没找到这个问题的具体原因,可能就是这些类在swizzlingNSArray等类的时候引起的一些问题吧。