• iOS 崩溃分析


    崩溃统计分析,在APP中是非常常见一种优化APP,发现APP的BUG的方式。

    1.异常处理

    可通过try catch 方式处理,如果发生异常,会走catch ,最终走fianlly。对一些我们不想他崩溃的地方,可以采取这种方式去处理。但要注意的是,通过这种处理,使用的第三方崩溃将捕捉不到异常信息,不会上报。

        @try {
            <#Code that can potentially throw an exception#>
        } @catch (NSException *exception) {
            <#Handle an exception thrown in the @try block#>
        } @finally {
            <#Code that gets executed whether or not an exception is thrown#>
        }

    2.异常信息打印与拦截

    在开发过程中,我们想自己捕捉异常处理,那么,可以通过最简单的一种方式处理,直接在main.m中try catch,在catch中将数据先存在本地,隔一段时间或者APP进入后台时,上报给服务器。

    main.m

        @try {
            @autoreleasepool {
                return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
            }
        } @catch (NSException *exception) {
            NSLog(@"main------%@", [exception callStackSymbols]);
        }

    但这种方式,个人感觉并不好。实际上,我们可以在AppDelegate.m中处理,在didFinishLaunchingWithOptions中设置异常回调,回调里面,处理相关的异常。

    流程是:发生异常-->handleException-->main.h 

    void handleException(NSException *exception)
    {
        NSMutableDictionary *info = [NSMutableDictionary dictionary];
        info[@"callStack"] = [exception callStackSymbols]; // 调用栈信息(错误来源于哪个方法)
        info[@"name"] = [exception name]; // 异常名字
        info[@"reason"] = [exception reason]; // 异常描述(报错理由)
    }
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        // 将沙盒中的错误信息传递给服务器
        
        // 设置捕捉异常的回调
        NSSetUncaughtExceptionHandler(handleException);
        
        return YES;
    }

    上面的方法都是对异常的一些分析以处理,实际开发中,我们一般都是使用第三方库记录和分析BUG。

    崩溃分析统计

     * 1.友盟

    *  2.腾讯bugly

     * 3.Flurry

     * 4.Crashlytics

  • 相关阅读:
    随笔:自我介绍与软工 5 问
    作业要求 20200924-1 每周例行报告
    作业要求20200924-2 功能测试
    作业要求 20200924-5 四则运算试题生成,结对
    作业要求20200924-3 单元测试,结对
    作业要求20200924-4 代码规范,结对要求
    20200929-git地址
    作业要求 20200917-3 白名单
    作业要求 20200917-1 每周例行报告
    20200917-2 词频统计
  • 原文地址:https://www.cnblogs.com/jys509/p/5513857.html
Copyright © 2020-2023  润新知