Сохранить имя пользователя и пройти Objective C iPhone - PullRequest
5 голосов
/ 18 июля 2010

у меня есть текстовое поле,

номер и пароль

Я понятия не имею, как сохранить эти настройки, а затем прочитать их, когда приложение начнет проверять, установлены они или нет.

Спасибо

Mason

Ответы [ 2 ]

13 голосов
/ 18 июля 2010

Чувствительная информация должна храниться в цепочке для ключей, криптографически безопасном месте на устройстве. Если вы сохраняете имя пользователя и / или пароль в NSUserDefaults, вы сохраняете их в виде открытого текста, что по своей природе небезопасно.

В интернете множество примеров использования цепочки для ключей на iPhone, включая простые обертки для использования в вашем коде. Например, вот довольно хороший код на Github, который делает его довольно простым:

http://github.com/ldandersen/scifihifi-iphone/tree/master/security

5 голосов
/ 18 июля 2010

Сохранить:

[[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];

Читать:

_email = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];

В вашем случае:

[[NSUserDefaults standardUserDefaults] setValue:Number.text forKey:@"Number"];

И

NSString * number = [[NSUserDefaults standardUserDefaults] stringForKey:@"Number"];

«Ключ» обычно жестко запрограммирован и работает как «имя переменной» для вещей в хранилище (типичные пары имя / значение, например словарь).

Чтобы проверить, установлено ли значение или нет; после прочтения:

if (number) ...
...