将登录细节保存到iphone的文本文件中



嗨,谁能帮助我如何保存登录页面的文本字段中输入的登录详细信息应该保存在文本文件中,当提交按钮被点击,我还想检索保存在文本文件....中的登录详细信息

你不应该在UserDefaults中保存私人数据。

您应该将其存储在钥匙链中。您可以在项目中包含SFHFKeychainUtils类,并使用以下方法:

+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;

+ (void) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;

更多细节在这里:http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code

这样做确实不安全。NSUserDefaults或Core Data健壮得多;您还可以考虑使用加密功能。但是如果你必须保存到一个文本文件,你可以使用NSString的[writeToFile:atomically:encoding:error][1]方法。传入一个文件的路径、一个指定是否应该自动写入的BOOL值、一个指定文本编码的编码常量,以及一个指向NSError的指针(如果需要详细的错误信息)。

您可以通过使用您的输入文本字段的text属性来获取文本

如果你想做不安全的,那么你可以这样做;

// Saving the login details
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
NSUserDefaults *defaults1=[NSUserDefaults standardUserDefaults];
NSString* Username = UsernameBox.text;
[defaults setObject:Username forKey:@"UsernameKey"];
NSString* temp = [defaults objectForKey:@"[UsernameKey"];
NSString* Password = PasswordBox.text;
[defaults1 setObject:Password forKey:@"PasswordKey"];
NSString* temp1 = [defaults1 objectForKey:@"[PasswordKey"];
[defaults synchronize];
[defaults1 synchronize];
// Loading the login details
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
NSUserDefaults *defaults1=[NSUserDefaults standardUserDefaults];
NSString* Username = UsernameBox.text;
NSString* temp = [defaults objectForKey:@"UsernameKey"];
UsernameBox.text = temp;
NSLog(@"Loaded Username: %@", temp); // Recommend removing for security after testing
NSString* Password = PasswordBox.text;
NSString* temp1 = [defaults1 objectForKey:@"PasswordKey"];
PasswordBox.text = temp1;
NSLog(@"Loaded Password: %@", temp1); // Recommend removing for security after testing

还是……

如果你想让它更安全,我建议使用加密功能,就像@Inspire48提到的那样。

谢谢,詹姆斯

最新更新