2013-04-16 3 views
0

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

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

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

Я использую раскадровку, и я думаю, что это имеет какое-то отношение к didFinishLaunchingWithOptions:.

+0

Я предполагаю, что вы ничего не пробовали, так как ответ на проблему очень широк. – Desdenova

+0

Ваша проблема решена или нет? вы пытаетесь сохранить данные или перенаправить страницу? –

+0

Да, это решило сейчас, я застрял с обоими. Я нашел, как перенаправить в этот URL-адрес http://stackoverflow.com/questions/9828217/programmatically-call-storyboard-in-delegate, и я понял, как сохранить данные на этой странице. – Nahar

ответ

0

Чтобы сохранить информацию о вашем приложении, вы можете использовать NSUserDefaults.

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

//SETTING USER DEFAULTS 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:txtUsername.text forKey:@"Username"]; 
    [defaults setObject:txtPassword.text forKey:@"Password"]; 
    [defaults setObject:"true" forKey:@"LoginStatus"]; 
    [defaults synchronize]; 

    //RETRIEVING USER DEFAULTS 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSString *Username = [defaults objectForKey:@"Username"]; 
    NSString *Password = [defaults objectForKey:@"Password"]; 
    NSString *Status = [defaults objectForKey:@"LoginStatus"]; 

Затем, как только у вас будет эта работа, вы можете применить к ней некоторую логику.

if ([Status isEqualToString:@"true"]) { 
     [self loginUser:Username :Password] 
    } 

------ EDIT ------

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

Искренне благодарю всех, кто голосовал за меня в позитиве.

+1

Кто бы ни проголосовал, почему? этот вопрос уже неясен и открыт, как есть. Я просто решил попробовать и помочь. Может быть, я буду думать дважды в следующий раз. – Necro

+0

Спасибо, Это очень помогло мне – Nahar

+0

Если вам нравится этот ответ, нажмите зеленый галочку. – Necro

1

I действительно не думаю, что @Necro делает необходимо.

Почему бы просто не проверять активный сеанс каждый раз, когда приложение выведено на передний план, а если его нет, укажите (по умолчанию) контроллер входа в систему без анимации. Такая архитектура делает очень чистую логику при выходе из системы, поскольку все, что вы делаете, - это очистить сеанс, представить контроллер входа в систему и поместить основную навигационную иерархию в свой контроллер корневого представления.

Простой.

Смежные вопросы