Utilice SFSafariViewController oculto para get cookies Safari

Estaba leyendo la siguiente publicación sobre la authentication de usuarios desde páginas web mobilees a aplicaciones nativas de iOS 9 y me preguntaba cómo implementar mejor un controller de vista de Safari oculto similar al controller oculto que se menciona a continuación.

https://library.launchkit.io/how-ios-9-s-safari-view-controller-could-completely-change-your-app-s-onboarding-experience-2bcf2305137f#.r810oldla

No use este enfoque si va a distribuir su aplicación a AppStore, ya que según las Pautas de Revisión de App Store actualizadas:

5.1.1:

(iv) SafariViewContoller debe usarse para presentar de manera visible información a los usuarios; el controller no puede estar oculto u oscurecido por otras vistas o capas. Además, una aplicación no puede usar SafariViewController para rastrear usuarios sin su conocimiento y consentimiento.

Puede probar el código de muestra aquí: https://github.com/mackuba/SafariAutoLoginTest

Esto ha cambiado en iOS 11. En el futuro, cada aplicación (incluido Safari) tendrá un almacén de datos completamente aislado. Anuncio oficial aquí (a las 17:28).

¡Viva el invisible SFSafariViewController! iOS 9 a iOS 10.

Si necesita una manera de pasar una coincidencia de usuario garantizado desde Safari a su aplicación, necesitará usar una networking existente de coincidencias de dispositivos, como Branch.io (divulgación completa: Estoy en el equipo de Branch). Puede leer acerca de las técnicas que utiliza Branch en lugar de la transferencia de cookies aquí .