Stockage et envoi de cookies http ne fonctionnant pas dans l'application PhoneGap

Je développe une application PhoneGap dans Xcode qui communique avec un server en utilisant une API Web. L'API accepte les requêtes HTTP standard. Dans le cadre du process d'authentification de l'user, un cookie est défini comme étant censé être transmis dans l'en-tête http avec chaque requête ultérieure à l'API.

Au cours de l'appel de connection à l'API, je peux clairement voir qu'un cookie est renvoyé dans le cadre de l'en-tête de réponse. Cependant, il ne semble pas stocké, et il n'est pas non plus envoyé dans l'en-tête de la requête http à chaque nouvel appel api.

Pour passer des appels à l'API, $.getJSON appel $.getJSON jQuery.

J'ai trouvé la question et la réponse suivantes: phonegap: l'authentification basée sur les cookies (PHP) ne fonctionne pas [webview]

La réponse ci-dessus suggère de définir NSHTTPCookieStorage cookieAcceptPolicy sur NSHTTPCookieAcceptPolicyAlways dans l' init du délégué de l'application. J'ai essayé cela et cela ne semble pas résoudre le problème. En outre, selon la documentation d' Apple , le cookieAcceptPolicy par défaut est NSHTTPCookieAcceptPolicyAlways .

Suggestions sur la façon d'get le stockage des cookies et l'envoi de travail sont très appréciés.

le CookieStorage devrait save le cookie et l'enregistre, pour être utilisé lors de requests ultérieures. il les ajoute même automatiquement si vous utilisez, par exemple, NSURLRequest … mais seulement si c'est pour le même domaine qui est défini sur le cookie.

J'ai rencontré des problèmes similaires plusieurs fois auparavant,

les causes possibles peuvent être:

1) le cookie a un domaine différent de celui que vous envoyez sur la requête, peut-être en raison d'une redirection … par exemple si des requêtes sont envoyées à http://www.somesite.com , qui redirige actuellement vers http: / /somesite.com (et c'est le vrai nom de domaine, cookie sera sauvegardé pour l'URL / domaine de sometime.com et maintenant http://www.somesite.com

2) il est possible que les en-têtes "session only" et "date d'expiration" ne soient pas correctement définis sur le cookie, ce qui entraîne le stockage des cookies

J'espère que cela aide, sachant par expérience que le stockage des cookies peut parfois être frustrant.