System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种iOS客户端闪退信息精准上报的方法技术_技高网

一种iOS客户端闪退信息精准上报的方法技术

技术编号:40241233 阅读:11 留言:0更新日期:2024-02-02 22:39
本发明专利技术涉及软件开发技术领域,并提供一种iOS客户端闪退信息精准上报的方法,使用Xcode开发工具生成调试工具界面;项目中集成iOS‑WOCrashProtector开源闪退保护组件,所述开源闪退保护组件全局替换系统方法,并植入了@try{}@catch(NSException*exception){}@finally{}方法,在这个catch中获取到需要我们上报的闪退信息,项目中集成iOS‑DDLogManager开源框架,所述开源框架用于获取到所有调试控制台的打印信息。本发明专利技术通过此系统性的方法可以更准确的知道闪退发生的页面、闪退发生前用户做了那些操作、闪退发生时是否受到不安全模块创建或者不安全接口返回数据影响,对闪退有了更全方位的定位。

【技术实现步骤摘要】

本专利技术涉及软件开发,尤其涉及一种ios客户端闪退信息精准上报的方法。


技术介绍

1、ios客户端运行日志上报是很有必要的,有助于开发团队分析app的使用情况、异常与错误的处理等,同时了解app的运行是否达到期望,并帮助处理一些难以复现的闪退问题等。

2、在现有的主流第三方平台上,主流的方法都是通过上传app的系统闪退日志,然后在穿插自身的一些统计信息,但是日志在解析的时候要通过对应的.dsym文件,才能解析日志,.dsym文件上传困难,流程繁琐;并且因为容易弄错.dsym文件,从而导致事倍功半;另一方面是这类闪退信息的收集具有滞后性。

3、有鉴于此,本公开实施例期望提供一种ios客户端闪退信息精准上报的方法;遇到闪退信息可以精确到闪退发生的页面、闪退发生前用户的操作、闪退造成的原因,更及时,并可以为用户留置后门,方便有需要时快速排查。


技术实现思路

1、针对上述问题,本专利技术提供一种ios客户端闪退信息精准上报的方法。

2、为解决上述问题,本专利技术所采用的技术方案是:

3、一种ios客户端闪退信息精准上报的方法,使用xcode开发工具生成调试工具界面;项目中集成ios-wocrashprotector开源闪退保护组件,所述开源闪退保护组件全局替换系统方法,并植入了@try{}@catch(nsexception*exception){}@finally{}方法,在这个catch中获取到需要我们上报的闪退信息。

4、优选地,项目中集成ios-ddlogmanager开源框架,所述开源框架用于获取到所有调试控制台的打印信息,所述打印信息包括系统信息、调试的信息以及错误信息,将控制台的所有信息读写到临时文件,方便后续管理操作。

5、优选地,将uiviewcontroller的viewwillappear:方法使用runtime的method_exchangeimplementations方法,替换为新的viewwillappear:方法,并在新的viewwillappear方法中添加打印信息。

6、优选地,在app每个模块点击的时候都打印打印时间信息+点击事件,使用继承的方式进行,所有模块继承于一个基类模块,处理基类模块,所述基类模块实现在点击事件触发的时候打印时间信息以及点击事件。

7、优选地,所述基类模块在将要创建时,进行打印时间信息以及模块创建。

8、优选地,构建app全局网络请求基类在请求完成后,打印时间信息以及请求返回。

9、优选地,在app运行前后台切换的时候,打印时间信息以及切换前后台,进入app后即为前台。

10、优选地,在app运行过程中,如果触发闪退,而闪退刚好被wocrashprotector监听到,通过ddlogmanager拿到最后打印的“页面打开”和最近15秒钟“点击事件”和最近3秒钟“模块创建”以及最近3秒钟“请求返回”和“闪退信息”等完整打印信息列表,存储在手机沙盒存储中,然后将该数据上传至服务器,如上传未成功则一个周期内会在app启动时再次上传,如上传成功则将数据转入沙盒缓存文件,一定时间后自动删除。

11、优选地,如果触发闪退,但是没有被监听到,可以在再次运行时,拿到上一次运行的ddlogmanager日志,判断最后的前后台信息,如为前台,则拿到最后一条日志信息作为“闪退信息”,然后执行操作;如是后台则不处理,因为app后台被杀死,是用户手动行为或者被系统回收,该类日志不利于分析。

12、优选地,构建后门来展示app存储与缓存中的闪退日志,以及全部运行日志,方便用户及时反馈,对特例问题及时调取日志分析。

13、本专利技术的有益效果为:

14、1.本方案是构建在苹果手机上的一种方法,通过开源框架wocrashprotector以及ddlogmanager的结合,拿到闪退信息以及特定的app使用日志,通过对日志的处理与上报,从而能更好的排查闪退信息。

15、2.更精准、及时的定位闪退问题:通过此系统性的方法可以更准确的知道闪退发生的页面、闪退发生前用户做了那些操作、闪退发生时是否受到不安全模块创建或者不安全接口返回数据影响,对闪退有了更全方位的定位,同时由于使用了wocrashprotector技术对app进行了保护,从而保证app没有crash,我们可以立即将闪退信息上报,因为我们没有用到系统闪退日志,所以不需要使用符号表来解析闪退信息,便可以直接看到闪退信息。

本文档来自技高网...

【技术保护点】

1.一种iOS客户端闪退信息精准上报的方法,其特征在于,使用Xcode开发工具生成调试工具界面;

2.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,项目中集成iOS-DDLogManager开源框架,所述开源框架用于获取到所有调试控制台的打印信息,所述打印信息包括系统信息、调试的信息以及错误信息,将控制台的所有信息读写到临时文件,方便后续管理操作。

3.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,将UIViewController的ViewWillAppear:方法使用runTime的method_exchangeImplementations方法,替换为新的ViewWillAppear:方法,并在新的ViewWillAppear方法中添加打印信息。

4.根据权利要求3所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,在app每个模块点击的时候都打印打印时间信息+点击事件,使用继承的方式进行,所有模块继承于一个基类模块,处理基类模块,所述基类模块实现在点击事件触发的时候打印时间信息以及点击事件。

5.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,所述基类模块在将要创建时,进行打印时间信息以及模块创建。

6.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,构建app全局网络请求基类在请求完成后,打印时间信息以及请求返回。

7.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,在app运行前后台切换的时候,打印时间信息以及切换前后台,进入app后即为前台。

8.根据权利要求1所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,在app运行过程中,如果触发闪退,而闪退刚好被WOCrashProtector监听到,通过DDLogManager拿到最后打印的“页面打开”和最近15秒钟“点击事件”和最近3秒钟“模块创建”以及最近3秒钟“请求返回”和“闪退信息”等完整打印信息列表,存储在手机沙盒存储中,然后将该数据上传至服务器,如上传未成功则一个周期内会在app启动时再次上传,如上传成功则将数据转入沙盒缓存文件,一定时间后自动删除。

9.根据权利要求8所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,如果触发闪退,但是没有被监听到,可以在再次运行时,拿到上一次运行的DDLogManager日志,判断最后的前后台信息,如为前台,则拿到最后一条日志信息作为“闪退信息”,然后执行操作;如是后台则不处理,因为app后台被杀死,是用户手动行为或者被系统回收,该类日志不利于分析。

10.根据权利要求9所述的一种iOS客户端闪退信息精准上报的方法,其特征在于,构建后门来展示app存储与缓存中的闪退日志,以及全部运行日志,方便用户及时反馈,对特例问题及时调取日志分析。

...

【技术特征摘要】

1.一种ios客户端闪退信息精准上报的方法,其特征在于,使用xcode开发工具生成调试工具界面;

2.根据权利要求1所述的一种ios客户端闪退信息精准上报的方法,其特征在于,项目中集成ios-ddlogmanager开源框架,所述开源框架用于获取到所有调试控制台的打印信息,所述打印信息包括系统信息、调试的信息以及错误信息,将控制台的所有信息读写到临时文件,方便后续管理操作。

3.根据权利要求1所述的一种ios客户端闪退信息精准上报的方法,其特征在于,将uiviewcontroller的viewwillappear:方法使用runtime的method_exchangeimplementations方法,替换为新的viewwillappear:方法,并在新的viewwillappear方法中添加打印信息。

4.根据权利要求3所述的一种ios客户端闪退信息精准上报的方法,其特征在于,在app每个模块点击的时候都打印打印时间信息+点击事件,使用继承的方式进行,所有模块继承于一个基类模块,处理基类模块,所述基类模块实现在点击事件触发的时候打印时间信息以及点击事件。

5.根据权利要求1所述的一种ios客户端闪退信息精准上报的方法,其特征在于,所述基类模块在将要创建时,进行打印时间信息以及模块创建。

6.根据权利要求1所述的一种ios客户端闪退信息精准上报的方法,其特征在于,构建app全局网络请求基类...

【专利技术属性】
技术研发人员:张培龙
申请(专利权)人:天翼视讯传媒有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1