iOSキャプチャプログラムクラッシュログ


iOS開発では、プログラムが崩壊するのが当たり前ですが、どうやってプログラムが崩壊した時に異常情報を取得し、開発者に通知しますか?
iOSでどのように実現するかを紹介します。
1.プログラム起動時に異常なTrapモニタを追加し、プログラム崩壊時のコールバック動作を処理します。

NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
公式文書紹介:Sets the top-level error-handling function where you can perform last-minute loging before the program terminates.
Uncaught Exception Handlerは、私たちが実現するために必要な関数の指針です。プログラムが異常崩壊すると、この関数はC,C++のコールバック関数の概念と同じです。
2.自分の処理関数を実現する

void UncaughtExceptionHandler(NSException *exception) {
    NSArray *arr = [exception callStackSymbols];//
    NSString *reason = [exception reason];// ,
    NSString *name = [exception name];//
    NSLog(@"exception type : %@
crash reason : %@
call stack info : %@", name, reason, arr);
}
以上のコードは簡単ですが、効果は非常に大きいです。
以上述べましたが、この文章の内容は全部です。IOSの開発を勉強するのに役に立つと思います。