ios登录使用NSUserDefaults,处理崩溃或设备关闭

ios登录使用NSUserDefaults,处理崩溃或设备关闭,ios,login,nsuserdefaults,Ios,Login,Nsuserdefaults,当用户登录我的ipad应用程序时,我试图处理关键行为 成功登录后,我们将使用nsuserdefaults记住登录,但在以下情况下需要重新登录: 坠机 设备已关闭 发生上述操作时,是否可以重置NSUserDefault上的登录值?如果是,我如何处理它们 感谢案例1添加异常处理程序 - (void) applicationDidFinishLaunching: (UIApplication *) application { NSSetUncaughtExceptionHandler (&am

当用户登录我的ipad应用程序时,我试图处理关键行为

成功登录后,我们将使用nsuserdefaults记住登录,但在以下情况下需要重新登录:

坠机 设备已关闭 发生上述操作时,是否可以重置NSUserDefault上的登录值?如果是,我如何处理它们


感谢案例1添加异常处理程序

- (void) applicationDidFinishLaunching: (UIApplication *) application
{
    NSSetUncaughtExceptionHandler (&myExceptionHandler);
}
....
- (void) myExceptionHandler (NSException *exception)
{
    // Make a note in your default settings
    // User needs to log in
}
案例2陷阱

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Make a note in your default settings
    // User needs to log in
}

我不知道应用程序如何知道设备何时关机。如果您的意思是退出应用程序,请继续阅读

或者只是把逻辑放在后面

-(void)applicationDidBecomeActive:(UIApplication *)application

抓住这两种情况

永远不要将登录凭据存储在用户默认值中。使用钥匙链!对于案例1,这不是一个好的解决方案。更好地使用基于PLCrashReporter的崩溃处理框架,比如QuincyKit。这不仅可以帮助您收集服务器或服务的崩溃情况,还可以为您提供一个属性来检查应用程序在上一次运行中是否崩溃。但有一种情况是无法处理的,即应用程序由于过度内存使用而被终止。跟踪相应的代理也不会有帮助,因为它们不会指示进程是否将被终止。