Sobes.tech
Junior — Middle

Hai esperienza con il meccanismo di memorizzazione dei dati lato client tramite i cookie?

sobes.tech AI

Risposta dell'AI

Sì, in iOS si utilizza la classe HTTPCookieStorage per lavorare con i cookie, che consente di salvare, recuperare ed eliminare i cookie associati alle richieste web.

Ad esempio, lavorando con WKWebView o URLSession, è possibile gestire i cookie come segue:

// Ottenere tutti i cookie
let cookieStorage = HTTPCookieStorage.shared
if let cookies = cookieStorage.cookies {
    for cookie in cookies {
        print("Nome del cookie: \(cookie.name), valore: \(cookie.value)")
    }
}

// Aggiungere un cookie
let cookieProperties: [HTTPCookiePropertyKey: Any] = [
    .domain: "example.com",
    .path: "/",
    .name: "userToken",
    .value: "abc123",
    .secure: "TRUE",
    .expires: Date().addingTimeInterval(3600)
]
if let cookie = HTTPCookie(properties: cookieProperties) {
    cookieStorage.setCookie(cookie)
}

In questo modo, i cookie permettono di salvare lo stato dell'utente o altre informazioni lato client.