如何在kill process app后通过keychanwrapper保存密码

时间:2015-05-17 15:21:15

标签: ios objective-c authentication

我创建应用程序登录我想保留用户名和密码以便下次使用应用程序 但是杀死进程后没有读取用户名和密码再次使用它

这是我的代码

ChkViewController.m(它是初始视图控制器)

- (void)viewDidLoad {
    LoginViewController *log;
    NSString *password = [log.keychainItem objectForKey:kSecValueData];
    NSString *username = [log.keychainItem objectForKey:kSecAttrAccount];
    NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"link"]];
    id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
    NSString *memstat = [dataDict objectForKey:@"MemberStatus"]; //1 is registered user 0 is unregistered user
    NSString *ck = memstat;
    if([memstat isEqual :@"1"]){
        MainViewController *mv = [[View2 alloc] initWithNibName:@"Main"bundle:nil];
        [self.navigationController pushViewController:mv animated:YES];
    }
    else
    {
        LoginViewController *log2 = [[View2 alloc] initWithNibName:@"Login"bundle:nil];
        [self.navigationController pushViewController:log2 animated:YES];
    }
}

LoginViewController.m

- (IBAction)login:(id)sender{
    NSString *msg;
    UIAlertView *alert =[[UIAlertView alloc] initWithTitle:hello message:name delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    if([_user isEqual:@""]||[_pass isEqual:@""] ){
        msg = @"please fill username or password";
        [alert show];
    }
    else{
        NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"link"]];
        id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
        NSString *memstat = [dataDict objectForKey:@"MemberStatus"]; //1 is registered user 0 is unregistered user
        NSString *ck = memstat;
        if([ck isEqual:@"0"]){
            msg =@"Username or password is incorrect";
            [alert show];
        }
    _keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyApp" accessGroup:nil];
    [keychainItem setObject:_pass forKey:kSecValueData];
    [keychainItem setObject:_user forKey:kSecAttrAccount];
    }
}

0 个答案:

没有答案