这是一个简单但有用的方法:
用于NSUserDefaults
存储BOOL
命名的didAuthUser
每当您想显示需要进行身份验证检查的视图控制器didAuthUser
(通常是根视图控制器)时,如下所示:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if ([prefs boolForKey:@"didAuthUser"]) {
//Get stored credentials
}else{
//Show login view controller
}
因此,当用户开始使用您的应用程序时,您将能够显示登录视图控制器。如果用户已经登录,您必须检查存储的凭据(使用钥匙串,不要在 NSUserDefaults 中存储敏感信息)
使用钥匙串不是一个非常简单的过程,您可能想要使用类似这样的东西
如果您使用sskeychain
,一个简单的实现将使用以下方法:
+ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account;
+ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account;
请注意,找回密码的方法需要一个帐户,您可以使用NSUserDefaults
此帐户。NSUserDefaults
只要密码在钥匙串上是安全的,就可以存储帐户。
这样您就可以访问整个应用程序的登录数据。
快乐编码!