背景
私は、ユーザーが同時に異なるログインで同じ Web サイトを閲覧できるようにする単純な iPad アプリケーションを開発しています。したがって、私は2つ持っており、ユーザーが最初のアカウントで1つのアカウントにログインし、2番目のアカウントで別のアカウントにUIWebViewログインできるように、異なるCookieストレージを持つ必要があります。UIWebViewUIWebView
私は何を試しましたか?
解決策は、私が持っている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 ストレージを使用
しなければならない方法はありますか?UIWebViewUIWebView
ありがとう!