web-dev-qa-db-ja.com

UIWebViewとNSURLConnectionはCookieストレージを共有しますか?

バックエンドにGoogleAppEngineを使用するiOSアプリを構築しています。 Googleは、認証Cookieを保存するHTMLログインサイトを提供しています。 UIWebViewでそのサイトにアクセスし、ユーザーがログインした場合、それらのCookieはストレージに保存され、同じサイトにリクエストを送信したときにNSURLConnectionによって取得されますか?

23
Linuxios

UIWebViewのCookieは、NSHTTPCookieStorage sharedHTTPCookieStorage]からアクセスできるサンドボックス化されたCookieストレージに保存されます。 NSURLConnectionでこのCookieストレージを次のように使用できます。

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"__YOUR_URL__"]];
NSDictionary *headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setAllHTTPHeaderFields:headers]; //A previously created NSMutableURLRequest

これで、通常はNSURLConnectionでNSURLRequestを使用でき、UIWebViewでのログイン後に作成されたCookieが送信されます。

22
Antonio E.