如何清除webView中少数主机的所有cookie?来自this问题的方法不起作用。
我正在尝试使用vk.com oauth并且它没有用户注销方法,因此删除cookis是使其他用户可以登录的现有方法之一
答案如下
我做到了
let cookieJar = NSHTTPCookieStorage.sharedHTTPCookieStorage()
for cookie in cookieJar.cookies! {
// print(cookie.name+"="+cookie.value)
cookieJar.deleteCookie(cookie)
}
斯威夫特4
func removeCookies(){
let cookieJar = HTTPCookieStorage.shared
for cookie in cookieJar.cookies! {
cookieJar.deleteCookie(cookie)
}
}
迅速4
func removeCookies(){
let cookie = HTTPCookie.self
let cookieJar = HTTPCookieStorage.shared
for cookie in cookieJar.cookies! {
cookieJar.deleteCookie(cookie)
}
}
Swift 5中的一个班轮
HTTPCookieStorage.shared.cookies?.forEach(HTTPCookieStorage.shared.deleteCookie)
通过避免强制解包
private func clearCookie2(){
let storage = HTTPCookieStorage.shared
if let cookies = storage.cookies{
for cookie in cookies {
storage.deleteCookie(cookie)
}
}
}
如果您只想删除特定的cookie
let DOMAIN_NAME = "abc.com"
private func clearCookie(){
let storage = HTTPCookieStorage.shared
if let cookies = storage.cookies{
for cookie in cookies {
if(cookie.domain.contains(DOMAIN_NAME)){
storage.deleteCookie(cookie)
}
}
}
}