Je me suis senti comme si j'avais les mêmes problèmes qu'adressés here. Mais tout ce que j'essaie ne semble pas fonctionner.Télécharger sur iPhone Caching?
Le programme se déroule comme suit:
- Je demande des informations d'identification de l'utilisateur (nom d'utilisateur/mot de passe)
- Alors je fais des appels au serveur téléchargement des informations.
- Lorsque c'est fini, j'affiche un ensemble d'utilisateurs, l'utilisateur clique sur un, puis est demandé le mot de passe pour ce compte
- Je fais ensuite une autre demande au serveur et vérifie si je reçois la bonne information retour (donc vérifier le nom d'utilisateur/mot de passe juste donné est correct)
Le problème est, le dernier appel est similaire (même URL, différentes informations d'identification) à celui que je fais dans le téléchargement initial. Indépendamment de ce que l'utilisateur place pour les secondes informations d'identification, les informations "correctes" reviennent. Je pense que c'est parce qu'il cache la réponse, mais je n'arrive pas à comprendre comment l'empêcher de le faire.
J'ai une classe qui établit la connexion et renvoie les données téléchargées. Et je fais une nouvelle classe pour chaque connexion. Donc, je ne suis pas vraiment sûr de savoir pourquoi ses données d'économie.
J'ai un NSMutableURLRequest dans lequel je fais ce qui suit:
[theRequest setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
(j'ai essayé, et NSURLRequestReloadRevalidatingCacheData
NSURLRequestReloadIgnoringLocalAndRemoteCacheData
)
J'ai aussi implemnted les fonctions:
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse {
return nil;
}
- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection {
return NO;
}
Avec le dernier je ne comprends pas complètement. Donc je me suis fatigué OUI et NON. Et j'ai essayé différentes stratégies de cache NSURLRequest.
Toute aide sur ce que mon problème pourrait être serait très utile. Je vous remercie.
Je ne savais même pas que ça existait, mais non, ça n'a pas marché. D'autres idées? – RyanJM
Qu'en est-il de NSHTTPCookieStorage? Essayez de supprimer les cookies pour l'URL, avant la deuxième demande, ou de définir [[NSHTTPCookieStorage sharedStorage] setCookieAcceptPolicy: NSHTTPCookieAcceptPolicyNever] – mjhoy
Merci! J'ai utilisé [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy: NSHTTPCookieAcceptPolicyNever]; et il a fait exactement ce dont j'avais besoin. – RyanJM