Отображение предупреждения в обработчике исключений верхнего уровня iPhone
я пытаюсь отобразить UIAlertView в обработчике исключений iPhone верхнего уровня. Функция обработчика выглядит следующим образом:
void applicationExceptionHandler(NSException *ex) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:[ex reason]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
мы видели похожий код в другом месте (например,NSSetUncaughtExceptionHandler не ловит все ошибки на iPhone).
Если я пошаговый в отладчике, я вижу, что вызывается обработчик исключений, и я вижу текущий экран тусклый, как будто он 'будет отображать предупреждение перед ним, но ничего не появляется. За пределами отладчика приложение просто немедленно завершает работу и возвращается на начальный экран системы.
Это работает, если я улавливаю ошибку в applicationDidFinishLaunching и отображаю предупреждение перед возвратом. Я предполагаю, что представление предупреждений никогда не получает возможности отображаться в обработчике исключений, потому что приложение завершает работу (в отличие от того, чтобы сидеть там и ничего не делать, если я просто выхожу из applicationDidFinishLaunching). Есть ли способ сделать эту работу?