UIWebView不保存Cookie

我使用UIWebView,用户login帐户。 用户可以用Facebook帐户login。 他是点击buttonFacebook并打开UIWebView。 UIWebViewclosures后,用户可以使用您的个人帐户。 但是,当我closures我的应用程序,并再次打开用户不能login。 UIWebView不保存Cookie。 我发现这个答案https://stackoverflow.com/a/26006163并在我的应用程序中添加此代码。 这只能暂时工作。 我closures我的应用程序,并打开数小时,再次用户不login。 我试图改变这一行

[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires]; 

对此

 [cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:100*12*30*60*60] forKey:NSHTTPCookieExpires]; 

但它没有帮助我。

我有这样的问题。 我尝试了很多方法。 我决定使用肮脏的黑客:D这是我的方式:

当我得到NSHTTPURLResponse的Facebook(或者)我保存请求的URL到NSUserDefaults:

 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; if ([[httpResponse URL].absoluteString isEqualToString:@"http://www.simple.com/"]) { [[NSUserDefaults standardUserDefaults] setURL:self.url forKey:@"urlLogin"]; [self dismissViewController]; } } 

而当我打开我的应用程序我使用NSURLRequest与我的存储的url:

 NSURLRequest *request = [NSURLRequest requestWithURL:[[NSUserDefaults standardUserDefaults] URLForKey:@"urlLogin"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:3.0]; [NSURLConnection connectionWithRequest:request delegate:self]; 

Cookies是暂时的,当您重新启动应用程序时,它会奇迹般地回来。

您需要将cookie或凭证保存在钥匙串中,并在重新启动后将其取回。