Question

Je construis un client Reddit, pour l'iPad et l'iPhone. Je sais qu'il ya d'autres clients, mais j'ai quelques idées vraiment cool pour la navigation par onglets Reddit: D

Anywho, je travaille sur l'arrière-plan de la chose première, et je me demandais quelle est la meilleure façon de traiter mon biscuit serait. J'utilise ASIFormDataRequest et ASIHTTPRequest pour obtenir le cookie et faire les demandes d'histoires, et subreddits utilisateur. Ma question est, comment puis-je savoir quand le cookie a expiré et je ne suis pas loggué plus?

Une solution stupide (à mon avis) serait de simplement se connecter à nouveau avant de faire toute sorte de demande de données ... mais qui semble, bien, stupide.

Une autre solution serait de vérifier spécifiquement des réponses différentes pour différentes demandes de Reddit et d'en tirer mon état connecté.

Une voir encore meilleure, serait d'une certaine façon si j'ai un cookie dans le magasin de cookies de l'iPhone qui est associé à Reddit, et si je ne suis pas, identifiez-vous. Alors, est-il un moyen de le faire?

Était-ce utile?

La solution

Je n'ai aucune connaissance précise sur reddit, mais la manière habituelle de gérer ce serait de faire la demande, puis voir si vous avez une erreur en disant « Non connecté » comme réponse.

Vérifier s'il y a un cookie dans le magasin est possible ou non, avec

[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [url absoluteURL]]

mais cela ne vous dira pas si le cookie est valide - il aurait pu être expiré sur le côté serveur ou aurait pu devenir invalide sur le côté serveur - donc vous devrez toujours vérifier les réponses pour « Non connecté » erreurs . (Bien qu'il ressort de la documentation API qui reddit définit uniquement les cookies de session, de sorte qu'ils ne pourront jamais apparaître dans le magasin persistant -. Dans ce cas, vous pouvez utiliser [ASIHTTPRequest sessionCookies] pour voir les biscuits)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top