如何在UIWebview中保持登录会话?

时间:2014-10-09 17:51:01

标签: ios objective-c caching cookies uiwebview

我在我的应用中使用UIWebView。我想在第一个webview上加载一个URL,该用户可以登录他的帐户。登录后,用户退出了webview并在iOS原生视图中执行其他操作。 后来当他拨打相同的URL时,他必须登录。怎么可能? 当我在一个标签中登录我的帐户时,我在Gmail中看到了这一点,并关闭它,每当我打开任何标签时,我的GMAIl帐户都会在Safari中登录。

我在下面尝试了一些东西,但没有工作。请建议我一个解决方案

   -(void)loadCookies
   {
   NSArray  *cookies       = [NSKeyedUnarchiver unarchiveObjectWithData: [[NSUserDefaults standardUserDefaults] objectForKey: @"cookies"]];
   NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

   for (NSHTTPCookie *cookie in cookies)
  {
    [cookieStorage setCookie: cookie];
   }
   }



 -(void)saveCookies
  {
NSData         *cookiesData = [NSKeyedArchiver archivedDataWithRootObject:       [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
NSUserDefaults *defaults    = [NSUserDefaults standardUserDefaults];
[defaults setObject: cookiesData forKey: @"cookies"];
[defaults synchronize];
 }

我的应用流程如下所示。

1.在UIWebview上调用网址 - http://www.userlogin.com 2.从那个视图控制器开始 3.在应用程序中执行其他功能。 4.在不同的UIWebView中调用相同的URL - http://www.userlogin.com

这里我需要显示他登录的会话。

0 个答案:

没有答案