Mam zamiar użyć NSHTTPCookieStorage
w aplikacji na iOS do zarządzania plikami cookie, które są pobierane z adresu URL, i rozumiem, że będzie on zarządzał plikami cookie podczas działania aplikacji. Zastanawiałem się jednak, czy istnieje możliwość przechowywania plików cookie po zamknięciu aplikacji. A następnie przeczytaj te ciasteczka ponownie, gdy aplikacja zostanie ponownie otwarta. Czy pliki NSHTTPCookieStorage
przechowują pliki cookie między aplikacjami? A może tylko podczas uruchamiania aplikacji? Czy muszę używać CoreData
, aby przechowywać te pliki cookie? `Trwałe pliki cookie w aplikacji na iOS?
Odpowiedz
Musisz ponownie ustawić pliki cookie po załadowaniu aplikacji. Używam kodu takiego:
NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:@"MySavedCookies"];
if([cookiesdata length]) {
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
NSHTTPCookie *cookie;
for (cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
i działa dobrze.
Nie należy utrzymywać plików cookie w sposób sugerowany w drugiej odpowiedzi. NSHTTPCookieStorage
będzie przechowywać pliki cookie, ale musisz upewnić się, że pliki cookie mają datę wygaśnięcia po stronie serwera.
Pliki cookie bez daty zakończenia są traktowane jako "tylko sesyjne" i zostaną wyczyszczone po ponownym uruchomieniu aplikacji. Możesz sprawdzić sytuację "tylko sesja" za pomocą właściwości BOOL w NSHTTPCookie
. To standardowe pliki cookie, a nie coś konkretnego dla systemu iOS.
Przyszedłem tutaj, szukając tej jasności, dzięki. Ciekawe, że jest wyczyszczone po ponownym uruchomieniu aplikacji. Możesz ponownie uruchomić Chrome na komputerze i nadal mieć otwartą sesję. – Dan2552
+1 Teraz rozumiem, dlaczego moje pliki cookie już nie istnieją :). Dzięki !! – Niko
Zaoszczędziłeś mi dużo czasu! Dzięki! –
- 1. WebView i pliki Cookie na Androidzie
- 2. Jak mogę edytować pliki PDF w aplikacji na iOS?
- 3. Xcode: ukryj/chroń pliki zasobów w ostatecznej aplikacji na iOS?
- 4. Pliki cookie w ASP vnext
- 5. Pliki cookie w domenie intranetowej
- 6. Android: jak przechowywać pliki cookie?
- 7. Pliki cookie w przeglądarce Firefox
- 8. Wyczyść pliki cookie symulatora iPhone'a
- 9. jquery, usuń pliki cookie
- 10. Jak włączyć przeglądarkę Chrome, aby zezwolić na lokalne pliki cookie? Pliki cookie, które można instalować:
- 11. Czy UIWebView i NSURLConnection udostępniają pliki cookie?
- 12. Czy mod_gzip skompresuje pliki cookie?
- 13. Wygasające pliki cookie z AngularJS?
- 14. Flask: Jak usunąć pliki cookie?
- 15. IE10 domyślnie udostępnia pliki cookie w subdomenach
- 16. Pliki cookie nie ustawione w Safari 6
- 17. Jak przekazywać pliki cookie w przekierowaniu CURL?
- 18. Czy można zabezpieczyć pliki cookie?
- 19. Alamofire wyczyść wszystkie pliki cookie
- 20. Utrwalanie sesji SSL i bezpieczne pliki cookie
- 21. Czy jQuery wysyła pliki cookie w poście?
- 22. Zaakceptuj pliki cookie w języku Python
- 23. Jak usunąć wszystkie pliki cookie w Angularjs?
- 24. Jak mogę wyświetlić pliki cookie w kodzie?
- 25. Pliki cookie Angularjs - jak z nich korzystać w kontrolerach
- 26. Jak wyświetlić i edytować istniejące pliki PDF w aplikacji ios
- 27. ręcznie usuń pliki cookie uwierzytelniania asp.net
- 28. RoR Pliki cookie używające ActiveRecordStore + Sticky Sesje
- 29. Jak ustawić datę wygaśnięcia na pliki cookie klienta?
- 30. Listonosz Chrome nie pokazuje przycisku Pliki cookie
Czy "MySavedCookies" już tam jest? Czy muszę to przechowywać, gdy moja aplikacja wkrótce się wyłączy? – Alex
Musisz to zrobić samemu. To jest właśnie miejsce, w którym uratuję moje. – Magnus
Przechowywanie plików cookie w domyślnych ustawieniach użytkownika może być luką w zabezpieczeniach, ponieważ dostęp do wszystkich plików plist jest możliwy za pomocą narzędzi takich jak iFunBox itp. Powinny być zaszyfrowane, ale najlepiej postępować zgodnie z odpowiedzią @gazreese. –