如题,项目地址请点击这里
用 method swizzle 来实现,没有使用 try-catch。 对常见的容器类,数组字典字符串这些有做保护,顺带新增了 NSSet,NSCache,NSUserDefaults,NSData 等几个类的保护,支持拦截 unrecognized selector sent to instance 异常,设置好要拦截的类即可。
已经在自己的项目用上了,目前工作稳定,iOS8.x 到 iOS11.x 都测试通过。
一些使用代码规范就能解决的崩溃,比如 NSTimer,通知和 KVO 这些造成的崩溃,本项目并未做额外处理,这种低级的失误,还是用代码规范来限制比较好。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.