zoukankan      html  css  js  c++  java
  • iOS 崩溃日志

    #import <Foundation/Foundation.h>
    
    @interface ZRUncaughtExceptionHandler : NSObject
    
    + (void)setDefaultHandler;
    + (NSUncaughtExceptionHandler*)getHandler;
    
    @end
    #import "ZRUncaughtExceptionHandler.h"
    
    @implementation ZRUncaughtExceptionHandler
    
    NSString *applicationDocumentsDirectory() {
        return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    }
    
    void UncaughtExceptionHandler(NSException *exception) {
        NSArray *arr = [exception callStackSymbols];
        NSString *reason = [exception reason];
        NSString *name = [exception name];
        
        NSString *url = [NSString stringWithFormat:@"=============异常崩溃报告=============
    name:
    %@
    reason:
    %@
    callStackSymbols:
    %@",
                         name,reason,[arr componentsJoinedByString:@"
    "]];
        NSString *path = [applicationDocumentsDirectory() stringByAppendingPathComponent:@"Exception.txt"];
        [url writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
    }
    
    - (NSString *)applicationDocumentsDirectory {
        return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    }
    
    + (void)setDefaultHandler
    {
        NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
    }
    
    + (NSUncaughtExceptionHandler*)getHandler
    {
        return NSGetUncaughtExceptionHandler();
    }
    
    @end

    使用如下

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        [ZRUncaughtExceptionHandler setDefaultHandler];
        
        return YES;
    }
  • 相关阅读:
    又回来咯
    4 20210412-1 原型设计作业
    3 20210405-1 案例分析作业
    202103226-1 编程作业
    阅读任务
    准备工作
    原型设计作业
    案例分析
    编程作业
    构建之法读后感
  • 原文地址:https://www.cnblogs.com/airy99/p/4409926.html
Copyright © 2011-2022 走看看