2010-05-22 67 views
4

我正在開發一個應用程序來運行基本陣營網站。xcode - ipad應用程序。 UIWebView記住登錄信息

我需要它來工作,當你登錄並點擊「記住我這臺電腦上」

我不知道如何設置它實際上記住您的登錄,讓你登錄時,你回來應用程序。

有沒有一種方法可以在應用程序狀態保存時保存應用程序的狀態並返回到正在執行的操作中?

下面是應用程序中使用的網站上登錄表單的圖像。

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

感謝。

回答

4

如果你的Web應用程序使用的URL會話,您可以使用的WebView委託保存當前網址:

- (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"]]]]; 
} 

您還可以使用JavaScript訪問cookie,如果您需要保存並設置它們:

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

Thanks for答覆。 我仍然有麻煩。 在第二個字符串中。我得到這個警告。 「/Users/Aakburns/Desktop/FNOnlineBuilds/Source/WebViewTutorial/Classes/WebViewController.m:92:0/Users/Aakburns/Desktop/FNOnlineBuilds/Source/WebViewTutorial/Classes/WebViewController.m:92:warning:local declaration of' webView'隱藏實例變量「 我已經將您的'MyWebView'更改爲webview,就像我聲明的那樣。與華納的線是這樣的。 [prefs setObject:webView.request.URL.absoluteString forKey:@「lasturl」]; 我應該用頁面加載的地址更改'lasturl'嗎? – Aakburns 2010-05-24 17:31:27

+0

我也在java字符串中獲取並未使用變量'my cookies'。 NSString * myCookies = [[webView stringByEvaluatingJavaScriptFromString:@「document.cookie」] copy]; 對不起,麻煩。我一直在使用SDK大約一週。快速捕捉,但仍需要對事物有所瞭解。 – Aakburns 2010-05-24 17:33:32

+0

如果您只需要重命名變量,就可以查看本地聲明信息。不要忘記重命名函數頭。 關於「myCookies」,這只是一個關於如何將cookie讀入變量的示例行。你仍然需要使用這個變量,它只是一個如何訪問它們的例子。 – favo 2010-05-24 17:50:24

相關問題