背景
私は、ユーザーが同時に異なるログインで同じ Web サイトを閲覧できるようにする単純な iPad アプリケーションを開発しています。したがって、私は2つ持っており、ユーザーが最初のアカウントで1つのアカウントにログインし、2番目のアカウントで別のアカウントにUIWebView
ログインできるように、異なるCookieストレージを持つ必要があります。UIWebView
UIWebView
私は何を試しましたか?
解決策は、私が持っている2つに異なるCookieストレージを実装することだと思いますUIWebView
.
Sasmito Adibowo は、独自の Cookie ストレージの実装WebView
という記事を書きました。この記事では、Macでカスタム Cookie ストレージを使用する方法について詳しく説明しています。
これはWebView
、送信する NSURLRequest を変更して Cookie ヘッダーを追加し、応答をインターセプトしWebView
て応答ヘッダーから Cookie を抽出し、独自の Cookie ストレージに保存することによって行われます。
技術的には、次の 2 つのデリゲート メソッドを実装することによって行われます。
- (void)webView:(WebView *)sender resource:(id)identifier didReceiveResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)dataSource
- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource
文書化されていませんがUIWebView
、わずかに異なるメソッド名で上記のメソッドの 1 つをサポートしていました。
- (NSURLRequest *)uiWebView:(UIWebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(id)dataSource
ただし、UIWebView
同等のデリゲート メソッドwebView:resource:didReceiveResponse:fromDataSource:
がないため、応答ヘッダーから Cookie を抽出できません。
質問カスタム Cookie ストレージを使用
しなければならない方法はありますか?UIWebView
UIWebView
ありがとう!