在AppDelegate.m中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
return YES;
}
void UncaughtExceptionHandler(NSException *exception) {
NSArray * array = [exception callStackSymbols];
NSString * reason = [exception reason];
NSString * name = [exception name];
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey:@"CrashStatus"];
[userDefaults synchronize];
}
在首页控制器中
- (void)examineCrash {
//获取上次是否崩溃状态
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults]
BOOL crashStatus = [userDefaults boolForKey:@"CrashStatus"]
//若崩溃状态为YES,
if (crashStatus == YES) {
//此处执行后续UI代码
......
......
......
//修改闪退状态,下次启动不再弹出
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults]
[userDefaults setBool:NO forKey:@"CrashStatus"]
[userDefaults synchronize]
}
}