美文网首页
由黑魔法swizzle造成的crash

由黑魔法swizzle造成的crash

作者: 彡廿 | 来源:发表于2017-05-19 13:57 被阅读52次

    swizzle NSArray的objectAtIndex,App就不会出现UIKeyboardLayoutStar

    背景

    公司新闻app,一个搜索输入框,键盘响应之后,按Home键,app进入后台,再返回前台的时候出现崩溃(iOS8 iphone5s)。
    然而在6s iOS10上并不能复现。
    用测试妹子的手机复现。控制台打印了下面信息

    [UIKeyboardLayoutStar release]: message sent to deallocated instance
    

    网上搜索,发现是由swizzle NSArray的objectAtIndex,造成的UIKeyboardLayoutStar release 问题
    项目中确实加入runtime 对数组做可能的越界安全处理。

    要么删除掉 swizzle NSArray 的objectAtIndex
    要么对runtime文件分类的后边加上了-fno-objc-arc标记

    相关文章

      网友评论

          本文标题:由黑魔法swizzle造成的crash

          本文链接:https://www.haomeiwen.com/subject/sjalxxtx.html