Swift 3: как проверить, настроены ли куки для определенного URL?

Я создаю приложение для API с проверкой на основе файлов cookie, и у меня возникло несколько проблем с ним.

Моя текущая проблема - функция, чтобы проверить, настроен ли файл cookie для автологина для домена, но я не могу разобраться, как его правильно настроить.

Моя текущая попытка:

func cookiesConfigured() -> Bool {
    let cookieStorage = HTTPCookieStorage.shared.dictionaryWithValues(forKeys: ["AutologinCookie"])
    if !cookieStorage.isEmpty {
        return true
    } else {
        return false
    }
    return false // <- will never be executed
}

Как правильно проверить содержимое хранилища файлов cookie для конкретного файла cookie?

2 ответа

Решение

Как вы могли бы понять, dictionaryWithValues является NSObject-методом и не делает то, что вы думаете, что он делает.

Что вам нужно, это цепь cookiesFor, filter а также isEmpty,

Вот код Swift 3 для получения определенного cookie.

let cookieJar = HTTPCookieStorage.shared

for cookie in cookieJar.cookies! {

   if cookie.name == "MYNAME" {

      let cookieValue = cookie.value

      print("COOKIE VALUE = \(cookieValue)")
   }
}
Другие вопросы по тегам