Tendo armazenamento de cookies separado para dois UIWebView?
fundo
Estou desenvolvendo um aplicativo simples para iPad que permite ao usuário navegar no mesmo site com logins diferentes ao mesmo tempo. Portanto eu tenho doisUIWebView
e eles devem ter armazenamento de cookie diferente para que o usuário possa acessar uma conta no primeiroUIWebView
e outra conta no segundoUIWebView
.
O que eu tentei?
Eu acho que a solução é implementar diferentes armazenamentos de cookies nos doisUIWebView
Eu tenho.
Sasmito Adibowo escreveu um artigoImplementando seu próprio armazenamento de cookies que fornecem detalhes sobre como usar um armazenamento de cookie personalizado paraWebView
no Mac.
Isso é feito modificando o NSURLRequest queWebView
vai enviar, adicionar cabeçalhos de cookie a ele e também interceptar a resposta deWebView
e extrair os cookies do cabeçalho de resposta e salvá-lo em nosso próprio armazenamento de cookies.
Tecnicamente, isso é feito implementando esses dois métodos delegados:
- (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
Embora seja indocumentado,UIWebView
suportou um dos métodos acima com um nome de método ligeiramente diferente:
- (NSURLRequest *)uiWebView:(UIWebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(id)dataSource
Contudo,UIWebView
não tem um método delegado equivalente parawebView:resource:didReceiveResponse:fromDataSource:
e, portanto, não consigo extrair os cookies dos cabeçalhos de resposta.
A questão
Existe uma maneira de terUIWebView
para usar um armazenamento de cookie personalizado, então os doisUIWebView
pode ter seu próprio armazenamento de cookie?
Obrigado!