2010-01-15 3 views
2

Как управлять сеансами пользователя в приложении для iPhone? Я получаю имя пользователя и пароль от пользователя на первой странице своего приложения. Пользователь может выйти из системы, когда захочет. Как хранить информацию о сеансе в приложении iPhone, как и любое другое веб-приложение? Есть ли какая-либо другая техника для этого? спасибо.Управление сеансом iphone

+0

Можете ли вы уточнить, пожалуйста? Вы имеете в виду сеанс веб-службы, к которому подключается ваше приложение? Вы имеете в виду «выйти», выйдя из системы? Вы изучали NSUserDefaults? – Costique

+0

Вы разрабатываете только приложение html? – TechZen

+1

Я разрабатывал приложение iphone, а не веб-приложение iphone. когда пользователь регистрируется в моем приложении (отправляет свое имя пользователя и пароль), я храню их учетные данные, используя NSUSerDefaults. Но пользователь может выйти из системы, когда он нажал кнопку выхода из системы. Итак, что мне делать, когда он постучал по кнопке выхода из системы. И как я должен проверять информацию о сеансе пользователя на каждой странице приложения. я достаточно ясен? Вкратце, как я могу обрабатывать механизм управления сеансом пользователя (например, в стандартном веб-проекте) в приложении iphone (я разрабатываю приложение на основе iphone, а не iphone web proect). спасибо. – molloy

ответ

2

Вы можете позвонить по телефону NSUserDefaults из любого места в вашем приложении. Обычно это информация о состоянии сохраняется.

Если вы предполагаете, что вам может потребоваться хранить информацию для большого числа пользователей, вы должны создать пользовательскую базу данных и только полагаться на нее. Самый простой способ сделать это - использовать Core Data. Вы можете припарковать контекст управляемого объекта в делетете приложения, а затем получить доступ к нему из любого места, вызвав делегат приложения.

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

+1

привет, а как насчет брелка для хранения имени пользователя/passwprd? Я имею в виду, у меня есть контроллер представления 4, и я хочу использовать сеанс во всем контроллере. Как я могу это сделать? NSUserDefaults OR Keychain? –

0

вы можете сохранить имя пользователя информации о NSUserDefaults

-(void)saveToUserDefaults:(NSString*)myString 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 

    if (standardUserDefaults) { 
     [standardUserDefaults setObject:myString forKey:@"username"]; 
     [standardUserDefaults synchronize]; 
    } 
} 

, если у вас есть имя пользователя информация о NSUserDefaults, вы можете получить ваше имя пользователя информации

-(NSString*)retrieveFromUserDefaults 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    NSString *val = nil; 

    if (standardUserDefaults) 
     val = [standardUserDefaults objectForKey:@"username"]; 

    return val; 
} 

использование:

NSString * username=[self retrieveFromUserDefaults:@"username"]; 
if (!([username length]==0)||![username isEqualToString:@""]) 
{ 
NSLog(@"no authentication and redirect authentication page "); 
} 
else 
{ 
NSLog(@"it's authentication!"); 
} 
Смежные вопросы