Иметь отдельное хранилище cookie для двух UIWebView?
Фон
Я занимаюсь разработкой простого приложения для iPad, которое позволяет пользователю одновременно просматривать один и тот же веб-сайт с разными именами входа. Поэтому у меня есть дваUIWebView
и они должны иметь различное хранилище cookie, чтобы пользователь мог войти в одну учетную запись на первомUIWebView
и еще один аккаунт на второмUIWebView
.
Что я пробовал?
Я думаю, что решение состоит в том, чтобы реализовать различные хранилища файлов cookie в двухUIWebView
У меня есть.
Сасмито Адибово написал статьюРеализация собственного хранилища файлов cookie которые предоставляют подробную информацию о том, как использовать пользовательское хранилище файлов cookie дляWebView
на Mac.
Это делается путем изменения NSURLRequest, чтоWebView
собирается отправить, добавив к нему заголовки cookie, а также перехватить ответ отWebView
и извлеките файлы cookie из заголовка ответа и сохраните их в собственном хранилище файлов cookie.
Технически это делается путем реализации этих двух методов делегата:
- (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
действительно поддерживал один из методов выше с немного другим именем метода:
- (NSURLRequest *)uiWebView:(UIWebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(id)dataSource
Тем не мение,UIWebView
не имеют эквивалентного метода делегата дляwebView:resource:didReceiveResponse:fromDataSource:
и, следовательно, я не могу извлечь куки из заголовков ответа.
Вопрос
Есть ли способ иметьUIWebView
использовать собственное хранилище cookie, поэтому дваUIWebView
может иметь собственное хранилище файлов cookie?
Спасибо!