Сохранение данных для входа в текстовый файл в iphone - PullRequest
0 голосов
/ 11 сентября 2011

Привет, может ли кто-нибудь помочь мне, как сохранить данные для входа, которые вводятся в текстовое поле страницы входа в систему, должны быть сохранены в текстовом файле при нажатии кнопки отправки, и я также хотел получить данные для входа, сохраненные в текстовом файле.... пожалуйста, предложите мне какое-нибудь решение

Ответы [ 4 ]

3 голосов
/ 11 сентября 2011

вы НЕ должны сохранять личные данные в UserDefaults.Вместо этого используйте KeyChain.

2 голосов
/ 11 сентября 2011

Вы должны хранить его в связке ключей.Вы можете просто включить этот класс, 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

1 голос
/ 11 сентября 2011

Это действительно небезопасно.NSUserDefaults или Core Data намного более устойчивы;Вы также можете рассмотреть возможность шифрования.Но если вам нужно сохранить текстовый файл, вы можете использовать метод NSString [writeToFile:atomically:encoding:error][1].Вы передаете путь к файлу, BOOL, указывающий, должен ли он быть записан атомарно, константу кодирования, которая задает кодировку текста, и указатель на NSError, если вам нужны подробности ошибки.

Вы можете извлечь текст, используя свойство text ваших текстовых полей ввода.

0 голосов
/ 11 сентября 2011

Если вы хотите сделать это небезопасно, тогда вы идете;

// 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.

Спасибо,

Джеймс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...