iOS [UIKeyboardLayoutStar release]: message sent to deallocated

使用MethodSwizzle 实现对数组、字典 等系统方法的安全校验。显然能达到预期效果,但实际发现当键盘显示的情况下  home app 进入后台,再单击app  图标 切换回前台时 发生crash :

[UIKeyboardLayoutStar release]: message sent to deallocated instance

UIKeyboardLayoutStar 是键盘上的布局的视图吧,

整个工程都在ARC下 构建,很奇怪

其中都有提到DurexKit  原理都是一样的,上面提到原因是替换了 NSArray的objectAtIndex: 方法,

不过在我的项目原因是替换了NSMutableArray 的objectAtIndex:( NSMutableArray和 NSArray 的objectAtIndex:都有替换,单独替换 NSArray 的objectAtIndex:方法则不会引起crash) 

解决方案:给 添加非ARC 支持,并改写实现

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。