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