La compréhension NSHTTPCookieStorage pour l'iPhone
Peut-être que je manque quelque chose, mais à partir de La documentation d'Apple pour NSHTTPCookieStorage
, je ne peux pas aider mais se demander comment c'est sûr à utiliser.
Est-ce à dire que le cookie de stockage est partagé entre toutes les applications sur l'iPhone? Si mon appli fait un appel Http que les résultats de certains des cookies soient enregistrés, le faire toutes les applications ont maintenant accès à ces cookies?
Méthodes comme:
cookiesForURL: Retourne tous les
récepteur de cookies qui seront envoyés
à une URL spécifiée.
faire encore plus suspect.
Quelqu'un peut m'expliquer comment c'est OK, et la classe?
Aussi, en supposant que ma compréhension est erronée, et c'est en effet sandbox par application, faire les appels effectués à l'aide de NSURLRequest
automatiquement sauvegarder/récupérer les cookies de ce magasin ou est-ce que les développeurs responsabilité de définir des en-têtes de demande avant l'envoi de la demande?
- Pour info: j'ai testé et il me semble qu'il est en bac à sable pour votre application. Donc, si vous frappez un site dans une UIWebView à partir de votre application, les cookies définis par le navigateur s'offrent à vous. Mais pas ceux par d'autres applications. Je vais enregistrer un doc bug pour Apple
- Apple semble avoir mis à jour la documentation indiquant que sur iOS cookies ne sont PAS partagées entre les applications.
Vous devez vous connecter pour publier un commentaire.
Votre demande n'a accès qu'aux témoins à l'intérieur de son propre bac à sable.
De http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/URLLoadingSystem/Concepts/URLOverview.html:
Je suppose que vous êtes confus par le fait que vous pouvez accéder à des cookies provenant d'autres domaines/url.
C'est techniquement vrai, car votre application native est un "navigateur" lorsque vous utilisez UIWebView.
Si vous chargez http://www.siteA.com et http://www.siteB.com dans votre UIWebView, à la fois du domaine des biscuits sont disponibles pour votre objc code.
Toutes les applications, y compris le navigateur safari mobile a son propre CookieJar et aucun d'eux ne peut accéder à l'autre.