你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios程序中捕獲異常退出信息,並提交服務器

ios程序中捕獲異常退出信息,並提交服務器

編輯:IOS開發綜合

可以通過寫一個類CrashExceptioinCatcher,在類中定義一個靜態方法startCrashExceptionCatch, 方法裡調NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

綁定void uncaughtExceptionHandler(NSException *exception)方法處理異常信息,在void uncaughtExceptionHandler(NSException *exception)裡將異常打印出來,並附帶上設備信息提交至服務器,這樣在測試時候能夠比較有效的收集異常信息。

頭文件

#import 

@interface CrashExceptioinCatcher : NSObject

+ (void)startCrashExceptionCatch;

@end

實現文件

#import "CrashExceptioinCatcher.h"

// 提交異常Log信息
void uncaughtExceptionHandler(NSException *exception) {
    
    // 異常Log信息
    NSString *logInfo = [NSString stringWithFormat:@"Crash:\n%@\nStack Trace:\n%@\n",
                         [exception description], [exception callStackSymbols]];
    NSLog(@"%@", logInfo);
    
    // TODO: 提交服務器收集
    // ....
}


@implementation CrashExceptioinCatcher

+ (void)startCrashExceptionCatch
{
    // Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); //設置異常Log信息的處理
}

@end

使用方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
    
    [CrashExceptioinCatcher startCrashExceptionCatch];
    
    // .................
    
}



參考:http://arthurchen.blog.51cto.com/2483760/734175

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved