Я работаю над проблемой в моем приложении Mac OSX 10.5, которая требует удаления файлов cookie при выходе пользователя из приложения, чтобы другой пользователь мог выполнить вход без необходимости выхода из приложения. Когда пользователь проходит аутентификацию в первый раз, WebView получает и кэширует 5 файлов cookie, используя класс хранения одноэлементных файлов cookie NSHTTPCookieStorage. Когда я пытаюсь получить куки, используя метод [NSHTTPCookieStorage cookiesForURL:], я получаю только 4. Это означает, что 5-й связан с другим URL-адресом. Я не могу использовать домен для идентификации файлов cookie, поскольку могу удалить файлы cookie, используемые другими приложениями. Я думаю по следующим направлениям:
- Отключить куки для WebView при загрузке URL.
- Я пытался использовать [NSMutableURLRequest setHTTPShouldHandleCookies: НЕТ], но это не помогло. И я не могу изменить политику использования файлов cookie с помощью NSHTTPCookieStorage, поскольку это повлияет на другие приложения.
- Получите куки для URL, который я загружаю
- Я не знаю, возможно ли это. Я искал все методы делегата, доступные для WebView, но ничего не нашел
- Обновите URL-адрес заново, используя метод экземпляра [WebFrame reloadFromOrigin].
- доступно только для Mac OSX> = 10,6
- Воссоздать экземпляр WebView.
- не помогло, куки все еще сохраняются
Я также пробовал разные варианты, предоставляемые классом WebPreferences, но это не помогло. Заранее спасибо за любые подсказки, чтобы исправить эту проблему.