2010-05-22 8 views
4

Je suis en train de travailler sur une application pour gérer le site web des camps de base uniquement.xcode - application ipad. UIWebView Mémoriser les informations de connexion

J'ai besoin pour travailler lors de votre connexion et appuyez sur « Se souvenir de moi sur cet ordinateur »

Je ne sais pas comment le configurer pour réellement se souvenir de votre connexion et vous garder connecté lorsque vous revenez à l'application.

Existe-t-il un moyen de «sauvegarder» l'état de l'application lorsque vous avez tout à fait et revenir à ce que vous faisiez?

Voici une image du formulaire de connexion sur le site Web utilisé dans l'application.

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

Merci.

Répondre

4

Si votre application Web utilise des sessions d'URL, vous pouvez enregistrer votre URL actuelle à l'aide du délégué WebView:

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

... et charger des préférences plus tard à nouveau lorsque le viewDidLoad:

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

Vous pouvez également accéder aux cookies en utilisant javascript, si vous devez les enregistrer et les définir:

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

la réponse. J'ai encore des problèmes. dans la seconde chaîne. Je reçois cet avertissement. "/Users/Aakburns/Desktop/FNOnlineBuilds/Source/WebViewTutorial/Classes/WebViewController.m:92:0/Users/Aakburns/Desktop/FNOnlineBuilds/Source/WebViewTutorial/Classes/WebViewController.m:92: avertissement: déclaration locale de ' webView 'cache la variable d'instance " J'ai changé votre' MyWebView 'en webview, comme je l'ai déclaré. La ligne avec l'avertisseur est la suivante. [prefs setObject: webView.request.URL.absoluteString forKey: @ "lasturl"]; Suis-je censé changer le 'lasturl' avec l'adresse que la page charge? – Aakburns

+0

Je reçois également la variable non utilisée 'mes cookies' sur la chaîne java. NSString * myCookies = [[[[string webEvaluatingJavaScriptFromString: @ "document.cookie"] copy]; Désolé pour les tracas. Je travaille avec le SDK depuis environ une semaine maintenant. Attraper rapidement, mais encore besoin d'un peu de compréhension des choses. – Aakburns

+0

En cas d'informations de déclaration locale, il vous suffit de renommer les variables. N'oubliez pas de renommer l'en-tête de la fonction aussi. En ce qui concerne les "myCookies", c'était juste une ligne d'exemple sur la façon de lire les cookies dans une variable. Vous avez toujours besoin de travailler avec cette variable, c'est seulement un exemple sur la façon d'y accéder. – favo

Questions connexes