Ho intenzione di utilizzare NSHTTPCookieStorage
in un'app iOS per gestire i cookie recuperati da un URL e sono consapevole che gestirà i cookie durante il runtime dell'applicazione. Tuttavia, mi chiedevo se è possibile mantenere i cookie dopo che l'applicazione è stata chiusa. E poi leggere nuovamente quei cookie quando l'app viene riaperta. Il NSHTTPCookieStorage
mantiene i cookie tra le applicazioni? O solo durante il runtime delle applicazioni? Devo usare CoreData
per mantenere questi cookie? `Cookie persistenti in un'applicazione iOS?
risposta
È necessario reimpostare i cookie quando viene caricata l'app. Io uso un codice come questo:
NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:@"MySavedCookies"];
if([cookiesdata length]) {
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
NSHTTPCookie *cookie;
for (cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
e funziona bene.
Non è necessario che i cookie persistano come suggerito nell'altra risposta. NSHTTPCookieStorage
persisterà per te i cookie ma è necessario assicurarsi che i cookie abbiano una data di scadenza impostata sul lato server.
I cookie senza una data di scadenza sono considerati "solo sessione" e verranno cancellati al riavvio dell'app. È possibile verificare la situazione di "solo sessione" tramite una proprietà BOOL in NSHTTPCookie
. Questa è roba standard per i cookie e non qualcosa di specifico per iOS.
Sono venuto qui cercando questa chiarezza, grazie. Interessante è che viene cancellato quando l'app viene riavviata. Puoi riavviare Chrome sul desktop e avere ancora una sessione aperta. – Dan2552
+1 Capisco ora perché i miei cookie non ci sono più :). Grazie !! – Niko
Mi hai risparmiato un sacco di tempo! Grazie! –
- 1. Cookie persistenti HttpClient Android
- 2. Come creare cookie persistenti in asp.net?
- 3. Cookie di sessione non persistenti nell'aggiornamento Android
- 4. Mantieni cookie UIWebView iOS Xamarin
- 5. Sessioni persistenti in Meteora
- 6. Strutture dati persistenti in Java
- 7. Strutture dati persistenti in Scala
- 8. Cookie di autenticazione UIwebView per iOS
- 9. Impostare un cookie in un'app iOS e leggere quel cookie da Safari
- 10. Abilita i cookie per iOS 7 in PhoneGap Build
- 11. Oggetti hash sha256 persistenti?
- 12. C++ dati persistenti
- 13. Oggetti personalizzati persistenti
- 14. NSPersistentStoreCoordinator con due tipi di negozi persistenti?
- 15. Connessioni persistenti alla memcached in PHP
- 16. Informazioni sulle connessioni HTTP persistenti in ColdFusion
- 17. Dati persistenti HSQLDB incorporati in un file
- 18. Soluzione NoSQL per grafici persistenti in scala
- 19. persistenti In colonna calcolata con sottoquery
- 20. sull'andamento di variabili persistenti in MATLAB
- 21. Thread persistenti in OpenCL e CUDA
- 22. Come posso creare sessioni persistenti in PHP?
- 23. Mantenere i dati persistenti in memoria
- 24. Come attivare i cookie sicuri in Wildfly?
- 25. Dati complessi persistenti tra i postback in ASP.NET MVC
- 26. Ruby Gems con dati persistenti
- 27. Process persistenti Post Python Pool
- 28. Python Richieste e sessioni persistenti
- 29. Cookie di sessione = cookie?
- 30. iOS App Web a schermo intero rilascia i cookie?
È già presente "MySavedCookies"? O devo memorizzarlo quando la mia app sta per diventare inattiva? – Alex
Devi salvarlo da solo - È solo il posto dove salvo il mio. – Magnus
La memorizzazione dei cookie nelle impostazioni predefinite dell'utente può essere un difetto di sicurezza poiché tutti i plist sono accessibili tramite strumenti come iFunBox, ecc. Dovrebbero essere crittografati, ma il miglior comportamento è seguire la risposta @gazreese. –