iPhone - 从文件中保存和加载用户的登录信息

Ale*_*ler 2 keychain nsfilemanager ios

嘿伙计们,我在尝试保存用户的登录(电子邮件)和密码(字符/数字)时遇到了一些问题.这些都是NSStrings的UITextFields.

我现在已经将它设置在视图的末尾,然后才被解雇

[email writeToFile:@"Login" atomically:YES encoding:NSUTF8StringEncoding error:&error];
[password writeToFile:@"Password" atomically:YES encoding:NSUTF8StringEncoding error:&error];
Run Code Online (Sandbox Code Playgroud)

但是,我不确定在加载视图时如何加载这些内容.我尝试在视图加载的开头执行此操作:

NSString *email;
NSString *password;
NSError *error;
NSString *em = [[NSString alloc] initWithContentsOfFile:@"Login" encoding:NSUTF8StringEncoding error:&error]; 
NSString *pass = [[NSString alloc] initWithContentsOfFile:@"Password" encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
   userEmail.text = em;
   userPassword.text = pass; 
}

email = userEmail.text;
password = userPassword.text;
Run Code Online (Sandbox Code Playgroud)

但是,我实际上无法获取这两个文件中的数据..是因为我必须拥有该文件的完整路径?还有,有没有办法将这两者保存到一个文件(NSMutableDictionary)?任何建议都会很棒!!

亚历克斯

Ben*_*man 22

您不应将用户的凭据以明文形式存储在文件中.如果手机丢失或被黑,可以轻松阅读.

更好的方法是将信息安全地存储在iPhone Keychain中.这将为您处理加密/解密,并且比您自己编写的内容更安全.

SFHFKeychainUtils一个可以更容易地使用Keychain的.这将为您提供一个适用于模拟器和设备的抽象.