Как удалить все файлы cookie UIWebView?
В моем приложении у меня есть UIWebview
, который загружает linkedin auth-страницу для входа. Когда пользователь входит в систему, файлы cookie сохраняются в приложении.
В моем приложении есть кнопка выхода из системы, которая не связана с именем login. Поэтому, когда пользователь нажимает на эту кнопку, он выходит из приложения. Я хочу, чтобы этот выход из системы очистил его связанные файлы cookie также от приложения, так что пользователь полностью выйдет из системы.
Ответы
Ответ 1
Согласно этот вопрос, вы можете пройти через каждый файл cookie в "Cookie Jar" и удалить их, например:
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
Ответ 2
Просто хотел добавить информацию об этом.
В OS X 10.9/ iOS 7, а затем вы можете использовать -resetWithCompletionHandler:, чтобы очистить куки и кеш и т.д. всего приложения из вашего sharedSession
:
Опорожняет все файлы cookie, кеши и учетные данные, удаляет файлы на диске, загружает загруженные на диск загружаемые файлы и гарантирует, что будущее запросы появляются в новом сокете.
[[NSURLSession sharedSession] resetWithCompletionHandler:^{
// Do something once it done.
}];
Строка for-In с deleteCookie:
звучит как изменение при перечислении коллекции мне. (Не знаю, может быть, плохая идея?)
Ответ 3
Вы можете сделать функцию внутри html WebView, которая очистит файлы cookie.
Если вам нужно выполнить очистку только после того, как вы сможете запустить эту функцию с событием Titanium, только при запуске приложения.
Ответ 4
Если кто-то ищет Swift Solution:
let storage = HTTPCookieStorage.shared
if let cookies = storage.cookies{
for cookie in cookies {
storage.deleteCookie(cookie)
}
}