Cookies löschen für eine bestimmte iOS-App
Meine App verbindet sich zu einem server und basiert auf einem cookie wird vom server Frage eine andere Antwort.
Ist es nicht möglich, programmgesteuert deaktivieren Sie das cookie speichern, damit der server erkennt nicht meine App, wenn es in Kontakt mit dem server das nächste mal.
Konnte ich entnehmen, dass löschen der Cookies in den Einstellungen.app ist nur für cookies in Safari.
Vielen Dank für Ihren Kommentar.
- Sie sind sich bewusst
[NSHTTPCookieStorage sharedHTTPCookieStorage]
, ja? - Jetzt bin ich. Vielen Dank für diesen Hinweis.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay... meine früheren Kommentar (und in der Hoffnung, dies ist die Lösung, die Sie suchen), die Sie wahrscheinlich nutzen möchten:
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:]
für jede der cookies für Ihre Website.
Wenn Sie möchten, dass Ihre änderungen an der NSHTTPCookieStorage beibehalten werden, werden Sie auch wollen, zu rufen, zu
Um dies zu verhindern, verlangsamen Ihre app, können Sie auch wollen, rufen Sie dieses auf einem hintergrund-thread in etwa so:
EDIT:
Wenn Sie nur ignorieren Sie alle cookies für ein bestimmtes NSURLRequest, können Sie dies mit:
Anfrage, wo ist die Instanz von NSURLRequest.
Wie erwähnt von @Niralp es ist nicht möglich, löschen Sie alle cookies, die durch die übergabe von nil zu
deleteCookie:
auf eine Instanz von NSHTTPStorage. Aber seit iOS 8 hat es eineremoveFromDate:
Methode kann genutzt werden, um den gleichen Effekt zu erzielen.Swift 4 wäre dies:
HTTPCookieStorage.shared.removeCookies(since: Date(timeIntervalSince1970: 0))
Würden alle cookies entfernen, die in der app seit 1970 Epoche, die wahrscheinlich geeignet für die meisten Bedürfnisse.