Algunas facetas a su pregunta.
Para empezar, NSURLConnection administrará las cookies de manera predeterminada en función de la configuración del dispositivo. Guardará las cookies en la tienda y las enviará según corresponda (cuando el dominio coincida con una cookie existente). Esto significa que si realiza una solicitud desde una URL con una cookie guardada en la tienda de cookies, se enviará. Esto explica el comportamiento que mencionaste. En general, con la configuración predeterminada, la cookie persistirá durante bastante tiempo.
Esta declaración inicial, sin embargo, tal vez no sea útil para sus necesidades. Supongo que es posible que desee tener control sobre la caducidad de (o mantener "para siempre") este campo secure_cookie
, por lo que su aplicación no tendrá que autenticarse aún más en el futuro.
En este caso, NSHTTPCookieStorage
es el lugar para buscar. Esta clase le permitirá tanto Recuperar:
[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString: @ "http://example.com"]]
y ajuste:
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]
(además de la creación de el objeto del diccionario de cookies)
Según la experiencia y los comentarios de otros en línea, debe tener en cuenta que el almacenamiento de cookies no siempre es 100% confiable. Si desea enviar una cookie específica y un valor al servidor, debe almacenar ese valor con su aplicación (prefs o Core Data, por ejemplo) y restablecer la cookie con el NSHTTPCookieStorage
apropiado en cada inicio.
¿No hay respuesta a esta pregunta? "¿Cuánto tiempo persistirá NSURLConnection en la cookie o se eliminará la cookie una vez que el usuario cierre la aplicación?" – RubyGladiator