Мне нужно проверить, когда приложение вылетает, я хочу показать одно предупреждение вместо закрытия приложения. подскажите пожалуйста, есть ли какое-нибудь решение.

0
user4302419 4 Сен 2016 в 15:05

3 ответа

Лучший ответ

Просто используйте методы обработки ошибок @try, catch в блоке catch u может отображать ошибку в alertView

UIAlertView *alert = [[UIAlertView alloc]
                  initWithTitle:@"Crashing....."
                  message:@"Error is"
                  delegate:self
                  cancelButtonTitle:@"Cancel"
                  otherButtonTitles:@"OK"];
-1
sasquatch 4 Сен 2016 в 12:19

Вы можете поймать исключение с помощью следующего кода:

Добавьте следующую строку в конец метода - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions в вашем AppDelegate.m:

NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

Добавьте в AppDelegate.m следующий метод:

void uncaughtExceptionHandler(NSException *exception)
{
    NSLog(@"CRASH: %@", exception);
    NSLog(@"Stack Trace: %@", [exception callStackSymbols]);

   // do your handling
}

Отсюда вы можете прочитать журналы сбоев и сохранить их на диск. Но вы не можете представить здесь оповещение.

0
Nikhil Gupta 5 Сен 2016 в 12:51

Это невозможно, но вы можете перехватить исключение с помощью uncaughtexceptionhandler , записать на диск и прочитать его при следующем открытии и отображении предупреждения.

Но вы не можете остановить сбойное приложение и показать предупреждение

1
sathishkumar_kingmaker 4 Сен 2016 в 19:00