2017-01-13 4 views
1

Просьба не помечать как дубликат, потому что я пробовал все, но не работал, плз мне помогли.Как очистить кэш сафари в приложении iOS?

У меня есть приложение google, в то время как вход в систему Я получаю все предыдущие учетные записи. Как удалить эти учетные записи?

Заранее спасибо.

//MARK:- clear Cache 
       URLCache.shared.removeAllCachedResponses() 
       URLCache.shared.diskCapacity = 0 
       URLCache.shared.memoryCapacity = 0 
       self.deleteCoreData() 

       GIDSignIn.sharedInstance().disconnect() 
       GIDSignIn.sharedInstance().signOut() 
       for cookie in HTTPCookieStorage.shared.cookies! { 
        HTTPCookieStorage.shared.deleteCookie(cookie) 
       } 

       // Removes cache for all responses 
       URLCache.shared.removeAllCachedResponses() 

Извините, за дублированный вопрос, но я пробовал код выше, но его не работает. Может ли кто-нибудь вести меня, где я ошибаюсь? Еще раз спасибо.

ответ

0

Попробуйте удалить конкретные печенье, связанных с AUTH, например:

var cookieProperties = [HTTPCookiePropertyKey:String]() 
cookieProperties[.name] = "<cookie_name>" 
cookieProperties[.domain] = "<domain>" 
cookieProperties[.originURL] = "<origin_url>" 
// <... etc ...> 
if let cookie = HTTPCookie(properties: cookieProperties) { 
    HTTPCookieStorage.shared.deleteCookie(cookie) 
} 

или просто удалить все куки, если это не проблема в вашем случае:

if let cookies = HTTPCookieStorage.shared.cookies { 
    for cookie in cookies { 
     HTTPCookieStorage.shared.deleteCookie(cookie) 
    } 
} 
+2

Вопрос помечен Swift, а не Objective-C. Лучше всего размещать ответы на правильном языке. – rmaddy

+0

Правильно, спасибо за указание. Не заметили ярлыка Swift. – degapps

1

для Swift 3.0, ясно весь URL-адрес кэша и файлы cookie, подобные этому

URLCache.shared.removeAllCachedResponses() 

if let cookies = HTTPCookieStorage.shared.cookies { 
    for cookie in cookies { 
     HTTPCookieStorage.shared.deleteCookie(cookie) 
    } 
}