🐻监控 — iOS降低崩溃率的秘密

揪心的bug

咱们经过第三方东西剖析捕获 mach信号或unix信号获取溃散信息,但有时明明查到了具体的溃散地址,确觉得这行代码似乎找不出服务器租借问题。

比方:

监控 -- iOS下降溃散率的隐秘

溃散无法复现,咱们只能测验处理这个问题,探究或许呈现的进程;

这个问题或许就不了了之了,溃散率ios是什么意思也就居高不下。

那有没有一个方法能够记载下来用户的操作进程用于复现呢?可不能够记载现场?答案是必定的。

于是我花了一天的时间写了这款东西:KillBapproachuswift体系g 欢迎star✨哦

bugtags 中也有KillBug的功监控器什么牌子最好清晰度高用。咱们之前运用过,并成功的把溃散率下降到了十万分之一。用户交互日志功不可没。

此东西用来收集用户操作进程:

  • 1、可用于bug复现,问题排查,监控:ios退款iOappearanceS下降溃散率到万分之一以内的隐秘
  • 2、剖析用户操作日志

采用 r服务器操作体系untime method swizzle监控摄像头多少钱一个 完结,为了监控家用长途手机不影响app的发动速度,method swizzle 需求手动打开。

支撑Swift、OC以及混编ios是什么意思项目。

支撑swift语言收集如下内容:

/// UIControl
- (void)trackEventView:(UIView *)view;
/// tableview&collectionview
- (void)trackEventView:(UIView *)view wit服务器体系hIndexPath:(nullable NapproachSIndexPath *)indexPath;
/// viewWill服务器租借多少钱一年Appear
- (void)trackViewWillAppear:(iOSUIViewController *)contr监控怎样连接手机oller;
/// uiapplication 生动状况
- (void)trackApplicati服务器租借on:(NSStriappointmentng *)state;
/// uiapplication 去世监控家用长途手机信息
- (void)trackApplicationDeadReason:(NSString *)reason;
/// 用户的tappleouch事情
- (swiftlyvoid)trackTapproachouch:(NSString服务器的效果 *)inapproachfo;
/// 日志回调
- (v监控眼oid)debugInfoHandler:(DebugInfoHandler)handler;

运用

- (BOOL)application:(UIApplication *)applAPPication didFinishLaunchingWithOptions:(NSDictionary *)swift选手launchOptions
{
// Override point for customization afios退款ter application launchapp安装下载.
KBAutoTrappointmentackManager *manager = [KBAutoTrackManageswiftlyr shared];
[manager debugInfoHandler:^(NSString * _Nonnull info) {
NSLogios模拟器(@"%@", info);
/// Custom
}];
return YES;
}

kill bug

能够协作firebase

/// 异步推延处理,避免影响首屏加载速度
DispatchQueue.main.asyncAfterios14(服务器地址在哪里看deios下载adline: .now()+3) {
KBAutoTrackManager.shared().debugInfoHandler { (info) in
/// 传给 Crashlswift体系ytics
debu监控摄像头软件app下载g(info)
Crashlytics.crashlytics().log(info)
}
}

这样firebase在抓到溃散的一同,也能收集到用户的交互日志:

firebase上是这样的:

监控 -- iOS下降溃散率的隐秘

协作库房信息,我想问还有什么bug是无法处理的呢?

如果是传到自己服务器,那就得自己处理收集的溃散日志了。

log 日志

2021-03-30 11:20:53.215736+0800 KillBug_Example[962:142129] will appear: KBViappearanceewController
2swift结算体系021-03-30 11:20:53.26swift代码是什么意思5620+0800 KillBug_Example[962:142129] app state: 现已生动
2021-03-30 11:20:54.720428+0800 KillBug_Example[962:142129] touch: 单击 方位 x:245.333328 y:629.333328
2021-03-30 11:20:54.761609+0800 KillBug_Example[962:142129] will appear: KBViewControllerA
2021-03-30 11:20:59.APP767387+0800 KillBugios8备忘录_Examp服务器体系le[96ios模拟器2:142129] touch: 单击 方位 x:138.333328 y:35.3333监控摄像头多少钱一个28
2021-03-30 11:20:59.767880+0800 KillBug_Ex服务器怎样建立ample[962:142129] touch: 单击 方位 x:138.333328 y:35.333328
2021-03-30 11:20:59服务器体系.77监控家用长途手机6511+0800 KillBug_Example[962:142129] click: UITableView row: 4 section: 0
2021-03-30 11:21:06.493889+0800 KillBug_Example[962:142129] touch: 单击 方位 x:261.服务器怎样建立000000 y:645.333328
2021-03-30 11:21:09.982150+0800 KillBug_Example[962:142129] click: UIButton txt:ButtonA
2021-03-30 11:21:14.463084+0800 KillBug_Example[962:142129] click: UIButton txt:服务器的效果小明
2021-03-30 11:21:ios模拟器17.768582+ios卖肉直播不收费下载0800 KillBug_Example[962:142129] app state: 将非生动
2021-03-30 11:21:18.677035+0800 KillBug_Example[962:142129] a服务器的效果pp state: 已进入后台
2021-03-30 11:21:2ios14.4.1更新了什么3.629401+0800 KillBug_Example[962:142129] app state: 将进入前台
2swift语言021-03-30 11:21:23.954509+0800 KillBug_Example[962:142129] app staswift代码te: 现已生动
2021-03appear-30 11:21:25.6监控他人微信聊天记录41821+0800 Kilios14.4.1更新了什么lBug_Example[962:142129] cli服务器是什么ck: UIButton txt:溃服务器拒绝发送离线文件是怎样回事散查验
2021-03-30 11:21:appear25.643appstore086+0800 KillBug_Example[962:142129] ap服务器体系p crash: {
"app监控摄像头Exception" : {
"exceptionreas监控眼on" : "*** -[__NSSingleObjectArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]",
"exceptio服务器的效果nname" : "NSRangeException"
}
}

也能够上传到自己服务器。

支撑pod

pod 'KillBug'

runtime 部分有具体注释,欢迎提交swiftlyissue!

KillBug 欢迎star✨哦