Sobes.tech
Junior — Middle

Czy masz doświadczenie w pracy z mechanizmem przechowywania danych po stronie klienta za pomocą plików cookie?

sobes.tech AI

Odpowiedź od AI

Tak, w iOS używana jest klasa HTTPCookieStorage, która umożliwia przechowywanie, pobieranie i usuwanie plików cookie związanych z żądaniami sieciowymi.

Na przykład, podczas pracy z WKWebView lub URLSession, można zarządzać plikami cookie w następujący sposób:

// Pobierz wszystkie pliki cookie
let cookieStorage = HTTPCookieStorage.shared
if let cookies = cookieStorage.cookies {
    for cookie in cookies {
        print("Nazwa pliku cookie: \(cookie.name), wartość: \(cookie.value)")
    }
}

// Dodaj plik 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)
}

W ten sposób pliki cookie pozwalają na przechowywanie stanu użytkownika lub innych informacji po stronie klienta.