Используйте скрытый SFSafariViewController, чтобы получить куки Safari

Я читал следующий пост об аутентификации пользователей с мобильных веб-страниц в собственных приложениях iOS 9 и задавался вопросом, как наилучшим образом реализовать контроллер скрытого представления Safari, аналогичный скрытому контроллеру, о котором говорилось ниже?

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

3 ответа

Не используйте этот подход, если вы собираетесь распространять свое приложение в AppStore, потому что согласно обновленным Рекомендациям по обзору App Store:

5.1.1:

(iv) SafariViewContoller должен использоваться для визуального представления информации пользователям; контроллер не может быть скрыт или скрыт другими видами или слоями. Кроме того, приложение не может использовать SafariViewController для отслеживания пользователей без их ведома и согласия.

Это изменилось в iOS 11. В дальнейшем каждое приложение (включая само Safari) будет иметь полностью изолированное хранилище данных. Официальное объявление здесь (в 17:28).

Да здравствует невидимый SFSafariViewController. iOS 9 - iOS 10.

Если вам нужен способ передать гарантированное совпадение пользователей из Safari в ваше приложение, вам нужно использовать существующую сеть сопоставлений устройств, например https://branch.io/ (полное раскрытие: я в команде Branch). Вы можете прочитать о методах, которые использует Branch вместо передачи файлов cookie здесь.

Вы можете попробовать пример кода здесь: https://github.com/mackuba/SafariAutoLoginTest

Другие вопросы по тегам