首页 > 解决方案 > 如何在 Xcode 中将 cookie 添加到 WebView IOS 应用程序?

问题描述

我想在 XCode 中使用 swift 4.2 向 IOS webView 应用程序添加一个 cookie,但它不起作用。以下是我尝试应用的代码示例之一,但它不起作用。谁能帮我?

let cookieProps:[HTTPCookiePropertyKey:Any]=[
    HTTPCookiePropertyKey.domain:"https://system.fast-apps.com",
    HTTPCookiePropertyKey.path:"/",
    HTTPCookiePropertyKey.name:"isNative",
    HTTPCookiePropertyKey.value:"IwBhE4g"]

    if let cookie = HTTPCookie(properties: cookieProps){    
            HTTPCookieStorage.shared.setCookie(cookie)
    }

标签: iosswiftxcode

解决方案


通过实现以下方法,您可以轻松地将 cookie 添加到 cookie 存储中:

var cookies: [HTTPCookie?] = [] {
    didSet {
        cookies.compactMap { $0 }.forEach {
            HTTPCookieStorage.shared.setCookie($0)
        }
    }
}

func addCookie(for url: URL, key: String, value: AnyObject, path: String = "/", isSecure: Bool = true, expirationTime: TimeInterval) {
    cookies.append(HTTPCookie(properties: [
        .originURL: url,
        .path: path,
        .name: key,
        .value: value,
        .secure: isSecure ? "TRUE" : "FALSE",
        .expires: Date(timeIntervalSinceNow: expirationTime)
    ]))
}

然后,按如下方式使用它:

addCookie(for: url, key: "someKey", value: someValue, expirationTime: 10000)

推荐阅读