0

私はobjective-cが初めてです。プログラムを起動すると、NSTextFiel と NSSecureTextField に保存された姓が自動的に挿入されます。ユーザー名とパスワードを保存します。

- (void)saveLoginPass {
    if ([checkBox state]==NSOnState) {
        [SSKeychain setPassword:self.passwordField.stringValue forService:@"ERClient" account:self.loginField.stringValue];
        NSLog(@"Login/pass save");
    }
    else if([checkBox state]==NSOffState){
        NSLog(@"Don't save login/pass");
    }
}

[manager POST:URLString parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject){
        if ([operation.responseString rangeOfString:@"mainBody"].location == NSNotFound) {
            alertFild.stringValue=@"Login or pass false";
            NSLog(@"Login or pass false");
            NSLog(@"responseObject: %@", responseObject);
            NSLog(@"operation.responseString: %@",operation.responseString);
            NSLog(@"operation.response: %@",operation.response);
        } else {
            browserWindowController = [[ERBrowserWindowController alloc] initWithWindowNibName:@"ERBrowserWindowController"];
            [browserWindowController showWindow:self];
            [browserWindowController addDefaultTabs];
            [self saveLoginPass];
            [loginWindow close];
            NSLog(@"Аuthorized");
        }
    }

ここに画像の説明を入力

キーチェーンに正常に保存されたデータをチェックインしました。プログラムをロードするときに、実装で最終的なログインとパスワードを挿入するにはどうすればよいですか?

4

1 に答える 1

0

ユーザー名とパスワードを標準的な方法で取得できると思います。

NSDictionary *credentials = [SSKeychain accountsForService:@"ERClient"].firstObject;
if (!credentials) {
   return; // leave fields empty
}
NSString *accountName = credentialsDictionary[kSSKeychainAccountKey];
NSString *password = [SSKeychain passwordForService:@"ERClient" account:accountName];
// populate fields

}

于 2015-03-20T23:18:12.300 に答える