iOS防止Crash框架

#M7CrashProtector

Crash protection based on Swizzle Method. Can effectively prevent the code potential crash, automatically capture the broken loop factor that causes the app to crash when the app runs, so as to prevent the app from collapsing, so it can continue to function normally

#前言

 一个无侵入的 iOS crash 防护框架,基于 Swizzle Method 的 Crash 防护。能有效的防止代码潜在的crash,自动在app运行时实时捕获导致app崩溃的破环因子,使app避免崩溃,照样可以继续正常运行。

主要参考了[《大白健康系统--iOS APP运行时Crash自动修复系统》](https://neyoufan.github.io/2017/01/13/ios/BayMax_HTSafetyGuard/)此文,以及[AvoidCrash](https://github.com/chenfanfang/AvoidCrash)、[QYCrashProtector](https://github.com/qiyer/QYCrashProtector)、[NeverCrash](https://github.com/jseanj/NeverCrash)这三个框架编写而成。更多内容请看项目吧。[简书地址👈](https://www.jianshu.com/p/1ac0929a6608)

#功能

- unrecognized selector crash

- KVO、KVC crash

- NSNotification crash

- NSTimer crash

- Container crash(数组越界,插nil,字典objc、key为nil等)

- NSString crash(字符串截取越界等) 

-NSAttributedString

#安装&导入

- cocoapods

pod 'M7CrashProtector',:configurations => ['Release'],:git => 'https://gitee.com/hualingqian/m7-crash-protector.git'

-直接下载导入《M7CrashProtector》文件夹

#使用方法

导入#import "M7CrashProtectorManager.h"

```

/**

 启动所有组件

 */

+ (void)makeAllEffective;


/**

 单独启动组件

 @param protectorType 启动的组件类型

 */

+ (void)configCrashProtectorService:(M7CrashProtectorStyle)protectorType;

```

![](https://gitee.com/hualingqian/m7-crash-protector/tree/master/Example/crash.png)

#版本适配 

系统支持 iOS 8.0 ~ iOS 15.1

#注意事项

 ** 建议实际开发的时候关闭该组件,以便及时发现crash bug,需要上架或者演示的时候开启crash防护组件。 **

 * 该组件中使用了@try@catch捕捉crash会占用极少量内存,不过正常情况下不影响性能。

 * 目前尚未测试其他第三方框架共同使用时是否存在冲突的情况,如bugly、友盟等。

 * 如果您发现了问题希望能issue,大家一起来解决问题 ^_^

 * 最后,如果你觉得这个框架对你有帮助就给个star吧 ^_^

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 出于需要,查找资料编写了WOCrashProtector组件。 WOCrashProtector是一个无侵入...
    吴欧阅读 8,269评论 11 7
  • 题外话:近来工作闲暇之余把以前看的网易大神写的crash防护手动实现了。纸上得来终觉浅,绝知此事要躬行。记录一下思...
    宋唐不送糖阅读 7,947评论 0 66
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,282评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 11,806评论 0 2
  • 今天上午陪老妈看病,下午健身房跑步,晚上想想今天还没有断舍离,马上做,衣架和旁边的的布衣架,一看乱乱,又想想自己是...
    影子3623253阅读 7,962评论 3 8