Haben Sie einen separaten Cookie-Speicher für zwei UIWebView?
Hintergrund
Ich entwickle eine einfache iPad-Anwendung, mit der der Benutzer dieselbe Website mit unterschiedlichen Anmeldungen gleichzeitig durchsuchen kann. Deshalb habe ich zweiUIWebView
und sie sollten einen anderen Cookie-Speicher haben, damit der Benutzer sich beim ersten einen Account anmelden kannUIWebView
und ein anderes Konto auf der zweitenUIWebView
.
Was habe ich versucht?
Ich denke, die Lösung besteht darin, unterschiedliche Cookie-Speicher in den beiden zu implementierenUIWebView
Ich habe.
Sasmito Adibowo hat einen Artikel geschriebenImplementierung eines eigenen Cookie-Speichers Hier erfahren Sie, wie Sie einen benutzerdefinierten Cookie-Speicher für verwendenWebView
auf dem Mac.
Dies erfolgt durch Ändern der NSURLRequest thatWebView
wird senden, Cookie-Header hinzufügen und auch die Antwort von abfangenWebView
und extrahieren Sie die Cookies aus dem Antwortheader und speichern Sie sie in unserem eigenen Cookie-Speicher.
Technisch erfolgt dies durch Implementierung dieser beiden Delegatmethoden:
- (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
Obwohl es nicht dokumentiert ist,UIWebView
hat eine der oben genannten Methoden mit einem etwas anderen Methodennamen unterstützt:
- (NSURLRequest *)uiWebView:(UIWebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(id)dataSource
Jedoch,UIWebView
Ich habe keine äquivalente Delegate-Methode fürwebView:resource:didReceiveResponse:fromDataSource:
Daher kann ich die Cookies nicht aus den Antwort-Headern extrahieren.
Die Frage
Gibt es einen Weg zu habenUIWebView
einen benutzerdefinierten Cookie-Speicher verwenden, so dass die beidenUIWebView
können ihre eigenen Cookie-Speicher haben?
Vielen Dank!