当前位置:首页 » 《休闲阅读》 » 正文

iOS有效的防崩溃库-YDAvoidCrashKit_七月未央

26 人参与  2022年01月27日 17:23  分类 : 《休闲阅读》  评论

点击全文阅读


YDAvoidCrash 防崩溃库介绍

项目地址:YDAvoidCrashKit: GitHub - chong2vv/YDAvoidCrashKit

YDAvoidCrash 主要借鉴了@chenfanfang大神开源的 AvoidCrash。由于AvoidCrash不再维护更新,同时鉴于实际业务开发中所使用的类逐渐增加,因此YDAvoidCrash在原AvoidCrash上重新开发。毕竟,一个已经发布到AppStore上的App,最忌讳的就是崩溃问题,相信作为开发者对于所产出项目的崩溃率要求都极为严格,因此YDAvoidCrash库就是为此存在。

目前YDAvoidCrash经过项目验证后,目前200W用户下日活15W左右,崩溃率可以降到0.03%以下,而其中的大多数崩溃则是由现成引起的(之后会逐渐增加安全线程功能)。

相较于原库,YDAvoidCrash新增了以下功能及优化:

  • 新增了其他系统类的防崩溃,目前约支持17个系统类(逐步迭代更新);
  • 支持回调设置,方便应用上报;
  • 新增YDLogger日志采集系统,用以捕捉崩溃等日志(如操作日志、错误日志、请求日志等),同时YDLogger自带YDLoggerUI可以方便可视化查询日志;
  • YDLogger日志是通过每次启动APP即可生成当前的日志文件,可以通过获取全部文件后进行压缩等形式上次服务端,同时可以下载后通过YDLoggerUI进行快速查看。

安装及使用方式

使用CocoaPods导入

pod 'YDAvoidCrashKit', '0.0.6'

使用方法

YDAvoidCrash 防崩溃库使用

使用时引入头文件:

#import "YDAvoidCrashKit.h"

之后在AppDelegate的didFinishLaunchingWithOptions方法中的最初始位置添加如下代码,让YDAvoidCrash生效

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //设置允许防崩溃类前缀
    [YDAvoidCrash setAvoidCrashEnableMethodPrefixList:@[@"NS",@"YD"]];
    
    //接收异常的回调处理,可以用来上报等
    [YDAvoidCrash setupBlock:^(NSException *exception, NSString *defaultToDo, BOOL upload) {
            
    }];
    //开启全部类拦截,同时开启日志收集(日志默认保存10天,可以在开启前通过[[YDLogService shared] clearLogWithDayTime:5]设置)
    [YDAvoidCrash becomeAllEffectiveWithLogger:YES];
    
    return YES;
}

YDLogger使用

如果想使用YDLogger日志收集系统,可在本地开启日志(YDAvoidCrash becomeAllEffectiveWithLogger:YES])后使用:

/**
 日志记录宏,只记录到本地,使用方法和NSLog相同,引用当前文件后可直接使用
 根据日志level的不同,记录的日志不同
 当调用setLogLevel:设置需要记录的日志level为YDLogDebug时,那么YDLogDebug等级以下的等级(含YDLogDebug)都会被记录
 默认设置为YDLogDetail
 
 YDLogError()   记录错误信息,适用于线上/线下环境,格式:@"Erro timeStamp error"
 YDLogInfo()    记录极简信息,适用于线上/线下环境,格式:@"Info timeStamp info"
 YDLogDetail()  记录详细信息,适用于线上/线下环境,格式:@"Deta timeStamp [thread] func str"
 YDLogDebug()   记录开发信息,适用于Debug环境,格式:@"Dbug timeStamp str"
 YDLogVerbose() 记录复杂信息,适用于Debug环境,格式:@"Verb timeStamp [thread] func in file:line desc"
 详细使用可参考具体宏定义
 */

同时,为了方便快速查看日志,可以用YDLogger自带的YDLoggerUI:

 YDLogListViewController *vc = [[YDLogListViewController alloc] init];
 [self.navigationController pushViewController:vc animated:YES];

写在最后的话

一个人的精力是有限的,如果你发现了哪些常用的Foundation中的方法存在潜在崩溃的危险,而这个框架中没有进行处理,希望你能 issue, 我将添加到YDAvoidCrash中,同时在使用过程中发现BUG或者有更好的解决方法也同样欢迎你能issue,我将万分感谢!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/34010.html

日志  崩溃  记录  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 爱,一触就破无广告_妹妹夏夏孟夏人气小说_小说后续在线阅读_无删减免费完结_
  • 他死后前妻疯魔了彩蛋(顾煜迟林筱棠)全书在线下载阅读完美终章小说大结局
  • 此后锦书休寄周窈音全文最新章节(周窈音)全文免费阅读无弹窗大结局_周窈音免费阅读
  • 弹幕说我是捞女?反手收购男主公司养鸡(林朝曦沈墨川)_弹幕说我是捞女?反手收购男主公司养鸡
  • 没给寡嫂抢到La******,老公把我和儿子做成蜡像(顾云州沈云烟)_没给寡嫂抢到La******,老公把我和儿子做成蜡像顾云州沈云烟
  • 出狱后,假千金靠玄术杀疯了(顾九音霍霆修)_出狱后,假千金靠玄术杀疯了
  • 养妹偷我认亲玉佩当上千金,男友当场分手超长版_玉佩陈雨柔养父母一口气看完_小说后续在线阅读_无删减免费完结_
  • 抽卡后,气运之子怎么都缠上来了小说(夏挽棠)(抽卡后,气运之子怎么都缠上来了)全书+后续+结局在线阅读
  • 前传爱意随风消逝续集:全文+番外乔清浅宋轻舟:结局+番外新上热文
  • 宋昭黎陆铭绪(假如从没拥抱你)前文+全本完整阅读预售作品抢先看
  • 终章小说搬空海港!我携军舰嫁军官躺赢了完结篇(温婉历战)已更新+延伸(搬空海港!我携军舰嫁军官躺赢了)清爽版
  • 贵妻在上:废材老公来护航完结篇(贵妻在上:废材老公来护航)章节目录+章节前文(宋锦瑶霍少霆)全章无套路在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1