0

アプリのシャットダウン時に特定のクリーンアップ タスクを実行したいと考えています。次のようなオブザーバーを使用します。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActiveNotif:) name:UIApplicationWillResignActiveNotification object:nil];

アプリがバックグラウンドになったときに通知を受け取る。

問題は、アプリがクラッシュした場合、何かを行うための通知がないことです。

testflight.com がフックを使用してクラッシュ情報を回復するのを見たので、クラッシュを検出していくつかのタスクを実行することもできるかどうか疑問に思っていました。

私の懸念は、次への呼び出しに関するものです。

CLLocationManager.stopMonitoringSignificantLocationChanges

アプリがクラッシュしたときに行われず、ユーザーには常に場所のアイコンが表示されたままになります。クラッシュが頻繁に発生するはずがないことはわかっていますが、このような状況下でできることなら、できる限りクリーンアップしたいと考えています。

4

1 に答える 1

3

グローバルな exceptionHandler または signalHandler をインストールすることもでき ます http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html

ただし、覚えておいてください: クラッシュ後に実行を続けないでください。安全ではありません:D

于 2012-11-15T10:15:04.763 に答える