ios cookies sharepoint uiwebview

ios - Las cookies de la página web no son detectadas por UIWebView



sharepoint (1)

Algunas ideas:

Las configuraciones de "Bloquear Cookies" de Safari del dispositivo anulan cualquier cambio en la cookieAcceptPolicy . La política predeterminada de esta configuración en el dispositivo es "Permitir desde sitios web que visito", que dependiendo de la versión de su dispositivo iOS, permite cookies de terceros. Las pruebas con iOS 9.3.x muestran que las cookies de terceros se conservan en un UIWebView con la configuración predeterminada, pero no persisten con la configuración "Permitir solo desde el sitio web actual" o "Bloquear siempre".

Compruebe si el dispositivo persiste su cookie con las diferentes configuraciones de cookies de Safari.

Además, ¿su cookie tiene una fecha de caducidad establecida? Descubrí que las cookies sin un conjunto de fechas de caducidad se tratan como cookies de sesión en UIWebView , que solo persisten con el ciclo de vida de la vista web que lo recibió.

Estoy desarrollando una aplicación para iOS que carga una página web usando UIWebView

La página web establece cuatro cookies:

  1. Dos para Google Analytics, _ga y _gat
  2. Una para mi aplicación web contador de visitantes únicos
  3. Uno para mi página web para detectar si el usuario ha votado o no.
    1. Si esta cookie está disponible, muestre los resultados de la encuesta.

Desde el Storage Inspector de Firefox veo todas mis cookies como se esperaba, vea la captura de pantalla:

Sin embargo, desde iOS NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies desde dentro de webViewDidFinishLoad y solo hay dos de cuatro cookies esperadas, también los usuarios de iOS pueden votar tantas veces como quieran porque las cookies no se detectan (o no se almacenan en el dispositivo iOS) :

if let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies { for c in cookies { print("*******************") print("name: /(c.name)") print("domain: /(c.domain)") print("value: /(c.value)") print("path: /(c.path)") print("expiresDate: /(c.expiresDate)") } }

¿Por qué mi aplicación iOS no detecta mis cookies personalizadas y solo detecta mis Google Analytics?

NOTA 1: También he agregado este código a mi aplicación:

func applicationDidBecomeActive(application: UIApplication) { NSHTTPCookieStorage.sharedHTTPCookieStorage().cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always }

NOTA 2: Mi backend es la aplicación web de SharePoint