清除webView cookie(Swift)

问题描述 投票:5回答:3

如何清除webView中少数主机的所有cookie?来自this问题的方法不起作用。

我正在尝试使用vk.com oauth并且它没有用户注销方法,因此删除cookis是使其他用户可以登录的现有方法之一

答案如下

swift cookies webview oauth
3个回答
10
投票

我做到了

        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)
    }
}

5
投票

迅速4

func removeCookies(){
    let cookie = HTTPCookie.self
    let cookieJar = HTTPCookieStorage.shared

    for cookie in cookieJar.cookies! {
        cookieJar.deleteCookie(cookie)
    }
}

2
投票

Swift 5中的一个班轮

HTTPCookieStorage.shared.cookies?.forEach(HTTPCookieStorage.shared.deleteCookie)

0
投票

通过避免强制解包

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)
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.