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í .