Pouvez un iPhone application xcode lire les cookies déjà stockés par Safari Mobile?
Une application iPhone peut lire les cookies déjà stockés par Safari Mobile?
Vous devez vous connecter pour publier un commentaire.
Une application iPhone peut lire les cookies déjà stockés par Safari Mobile?
Vous devez vous connecter pour publier un commentaire.
À fait réponse votre question:
Pas.
Mobile de Safari, les cookies ne sont pas accessibles à partir du SDK apps. Et chaque SDK app dispose de sa propre WebKit cache et cookie les magasins, tandis que les cookies sont conservés au sein de la même application, ils ne sont pas accessibles entre les applications.
Comme de l'iOS 9, c'est possible!
Utiliser un sfSafariViewController.
Vous aurez besoin pour l'installation:
Vous pouvez dupliquer ce repo qui a un travail entièrement démo de ce.
Espère que cette aide,
Liam
Il est en fait une façon intéressante si vous avez accès à l'url d'un serveur.
C'est un peu hacky que l'application pourrait changer de mobile safari, puis immédiatement revenir à l'application. Mais, c'est possible.
Noter que sur iOS 8, vous êtes probablement mieux à l'aide d' Safari Partage De Mot De Passe à la résolution de certains cas d'utilisation, qui donnent lieu à ce problème.
Ce n'est pas possible directement, mais avec la coopération du site web, c'est possible.
Pour clarifier, l'utilisateur de cas est que l'un des Objectifs C application a envie de lire la valeur d'un cookie qui a été défini par un site web dans le navigateur safari mobile. (ie. en particulier, une UIWebView n'a pas été impliqués dans la définition du cookie)
Votre application doit faire ceci:
Noter que vous ne devriez pas faire cela automatiquement au démarrage de l'application - l'utilisateur ne voit pas le transfert le navigateur Safari Mobile et à l'arrière, ce qui n'est pas une bonne expérience utilisateur et Apple refusera votre application (Apple a également jugé que cette "téléchargement des données personnelles de l'utilisateur au serveur sans leur consentement préalable"). Il serait préférable de le faire dans la réponse à l'utilisateur, en accordant une attention à l'expérience utilisateur, par exemple. d'attente pour l'utilisateur d'appuyer sur un bouton "connexion", puis le faire, et si l'utilisateur n'est pas connecté à votre site web, http://yourwebsite.com/give-ios-app-the-cookie doit montrer à l'utilisateur l'écran de connexion à l'intérieur de safari. Si l'utilisateur est connecté, vous pourriez afficher brièvement un "connecter Automatiquement vous..." écran pendant une seconde ou deux dans Safari avant de rediriger l'utilisateur.
Il n'y a aucun moyen d'obtenir que cela fonctionne avec hotmail/gmail/etc bien sûr -, il doit être de votre propre site web.
De crédit va à Identifiant Unique pour à la fois le navigateur safari mobile et dans l'app iOS pour la suggestion de ce type d'approche.
En raison de "bac à sable" sur l'iPhone, vous n'avez pas accès à un Safari cookies. Vous pouvez uniquement accéder aux cookies créés au sein de votre application par une UIWebView par exemple.
Bien que vous avez posé la même question deux fois avant, voici une approche non encore mentionnée...
Cela peut être un peu compliquée, mais vous pouvez le faire Greasemonkey-esque choses avec un UIWebView. Quelque chose comme ceci:
J'ai utilisé cette technique pour améliorer la 3ème partie, les pages d'une application iPhone, mais je ne sais pas si il va lire les cookies à partir du même endroit que Safari mobile.
Vaut le coup si?
Voici mon utils get/set cookie méthodes.
Vous pourriez vouloir vérifier
Mais apparemment NSHTTPCookieStorage n'a même pas tenir les cookies de la dernière demande dans le courant de l'application sur iOS (rdar://8190706)