W: This Question mówi się, że AFNetworking
zajmuje się ciasteczkami automatycznie w tle, ale w pytaniu Previous miałem problem z utrzymaniem sesji na serwerze, który został zrobiony w php po zalogowaniu Po zamknięciu (przerwaniu debugowania w Xcode) aplikacja zniknęła. Odpowiedź była taka, aby zachować ciasteczka w taki sposób, aby rozwiązać problem:AFNetworking Trwanie ciastek automatycznie
NSData *cookiesData = [[NSUserDefaults standardUserDefaults] objectForKey:@"User"];
if ([cookiesData length] > 0) {
for (NSHTTPCookie *cookie in [NSKeyedUnarchiver cookiesData]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
Daje mi to awarię aplikacji, gdy próbuję zrobić coś takiego. Po zalogowaniu ustawiam NSUserDefault tak:
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"User"];
//Then synthesize
Czy to niewłaściwy sposób użycia tego? Czy NSHTTPCookieStorage jest moim problemem? Dzięki.
Pamiętając o przechowywaniu ciasteczek sesyjnych w 'NSUserDefaults' to straszny pomysł, ponieważ jest przechowywany w postaci niezaszyfrowanej w obszarze izolowanym aplikacji. Rozważ użycie Keychain zamiast – jackslash
Wygląda na to, że jest równie bezpieczny, jak przechowywanie ich w przeglądarce ... Czy coś mi brakuje? – Gazzini
Z jakiegoś powodu nie mogę tego uruchomić. Powoduje awarię, mimo że ciasteczka analizowane w [self loadCookies] wydają się poprawne. "NSInvalidArgumentException", powód: "- [__ NSCFDictionary objectAtIndexedSubscript:]: nierozpoznany selektor wysłany do instancji –