xcode - приложение для ipad. UIWebView Запомнить логин - PullRequest
4 голосов
/ 22 мая 2010

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

Мне нужно, чтобы он работал, когда вы входите в систему и нажимаете «Запомнить меня на этом компьютере»

Я не уверен, как настроить его так, чтобы он запомнил ваш логин и оставил вас в системе, когда вернетесь в приложение.

Есть ли способ «сохранить» состояние приложения, когда вы полностью его восстановите и вернетесь к тому, что делали?

Вот изображение формы авторизации на сайте, используемом в приложении.

http://arikburns.com/forums/fn/IMG_0005.PNG

Спасибо.

1 Ответ

4 голосов
/ 23 мая 2010

Если ваше веб-приложение использует сеансы URL, вы можете сохранить свой текущий URL с помощью делегата веб-просмотра:

- (void)webViewDidFinishLoad:(UIWebView *)myWebView {
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [prefs setObject:myWebView.request.URL.absoluteString forKey:@"lastUrl"];
    [prefs synchronize];
}

… и снова загрузите его из настроек, когда viewDidLoad:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: [prefs objectForKey:@"lastUrl"]]]];
}

Вы также можете получить доступ к файлам cookie, используя JavaScript, если вам нужно сохранить и установить их:

NSString *myCookies = [[myWebView stringByEvaluatingJavaScriptFromString:@"document.cookie"] copy];
...