如何在iPhone中保存密码?

时间:2009-03-23 13:08:57

标签: iphone

我需要创建一个iPhone应用程序...它将与网站通信...所以它需要用户名和密码...现在我需要知道如何在iPhone中保存用户名和密码...我有已经使用过NSuserdefaults ...但是这并没有解决我的pblm ....我还需要恢复视图...用户退出应用程序的位置......所以我请求你帮助我?

关心并感谢您的支持,

SYAM

3 个答案:

答案 0 :(得分:10)

关于在纯文本文件(例如plist文件或NSUserDefaults)上保存安全数据(用户名/密码),我有点偏执。

Apple提供钥匙串服务来存储安全数据。这有点复杂,请查看文档Keychain Services Tasks for iPhone OS

他们还提供Generic Keychain app来探索。

答案 1 :(得分:0)

您可以将密码存储在常规文件中,也可以将其存储在SQLite数据库中。

答案 2 :(得分:0)

我最近在应用程序中有一个注销功能。

我有一个等级:

 "BaseUITableViewController
            ^
            |
 "Any subclass of UITAbleView Controller used in project."

所有这些子类都有一个“Logout”按钮,调用注销服务的方法是用Base类编写的。

一旦注销请求的响应有效且会话被终止,我就会调用以下方法(与上述文本形成对比,您感兴趣的是:)

-(void)gotoMainScreenOnLogout
{
    self.navigationController.navigationBarHidden = YES;//to make the previous view invisible 
    self.navigationController.toolbarHidden=YES;        //27 JUNE UPDATE
    [self.view removeFromSuperview];                    //27 JUNE UPDATE

//  MYAPPViewController *homeViewController = [[MYAPPViewController alloc]initWithNibName:@"MYAPPViewController" bundle:nil];
MYAPP_LoginUIVIewController *homeViewController =[[MYAPP_LoginUIVIewController alloc] initWithNibName:@"MYAPP_LoginUIVIewController" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:homeViewController ];
[nc.navigationBar setBarStyle:UIBarStyleBlackOpaque];
//
UIWindow *MYAPP_window = [[[UIApplication sharedApplication] windows]objectAtIndex:0];
CATransition *transition = [CATransition animation];
transition.duration = 0.8;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFade;
transition.delegate = self;
//...
[MYAPP_window.layer addAnimation:transition forKey:nil];
[MYAPP_window removeAllSubviews]; // not needed anymore
[MYAPP_window addSubview:nc.view];
[homeViewController release];

}

希望这会有所帮助。