Bug: [UIKeyboardLayoutStar release]: message sent to deallocated instance 0x10203c400
问题: iOS输入框处于编辑状态,按下Home键退入到后台,从后台进入前台就会出现崩溃问题
没有任何的相关信息打印
然后Enable Zombie Objects
打印如下语句
[UIKeyboardLayoutStar release]: message sent to deallocated instance
解决:
寻找万能的度娘,把错误信息贴进去,搜到几个答案,大部分类似于这篇文章:http://huang.sh/2015/02/一个奇怪的crash-uikeyboardlayoutstar-release/
通过分析,我猜测问题跟运行时有一定关系,但我并没有使用库DurexKit,不过我有通过建立分类使用Swizzle来动态拦截NSArray、NSMutableArray、NSDictionary、NSMutableDictionary的方法。
按照文章里的方式,我在build phases中找到Compile Sources,继而找到使用Swizzle的分类。如下图:
<图1>
我在<图1>分类的后边加上了-fno-objc-arc标记,如下图:
<图2>
然后再运行代码问题解决。当我把-fno-objc-arc去掉问题再次出现。