Технический гид: Настройка «Вход с Apple» в XCode
Вход с Apple позволяет пользователям входить в приложения, используя свой Apple ID. Эта функция доступна на iOS 13 и более поздних версиях, а также на Parse 3.5 и более поздних версиях.
Для завершения этого учебника вам потребуется:
- Приложение, созданное на Back4App
- Настройте поддомен для вашего приложения Back4app
- Смотрите Активация вашего веб-хостинга и живого запроса чтобы узнать, как создать поддомен в Back4App.
Прежде всего, необходимо убедиться, что у вас есть существующее приложение, созданное на Back4App. Однако, если вы новый пользователь, вы можете ознакомиться с этим учебником чтобы узнать, как создать одно.
В вашем проекте XCode нажмите на Цель (1) и перейдите на вкладку Подпись и возможности (2). Нажмите кнопку + Возможность (3) и добавьте возможность Войти с помощью Apple (4). Пока вы там, выберите ваш Идентификатор пакета (5) и сохраните эту информацию, потому что она нам понадобится позже.
Войдите в свой учетную запись разработчика Apple и перейдите в раздел Идентификаторы . Проверьте, есть ли ваш созданный Идентификатор пакета там
Нажмите на Идентификатор пакета и прокрутите вниз. Проверьте, выбран ли Войти с помощью Apple.
Нажмите Редактировать и убедитесь, что Включить как основной идентификатор приложения выбран
Если все верно, сохраните и выйдите.
Перейдите на сайт Back4App, войдите в систему и найдите ваше приложение. После этого нажмите на Настройки сервера найдите блок Вход через Apple и выберите Настройки.
Раздел Вход через Apple выглядит так:
Теперь вам просто нужно вставить ваш Bundle ID в поле ниже и нажать кнопку для сохранения.
Если у вас возникнут какие-либо проблемы при интеграции Apple Login, пожалуйста, свяжитесь с нашей командой через чат!
В процессе настройки входа с помощью Apple требуется немного программирования, поэтому мы создали этот шаблон который вы можете скачать и изменить Bundle Identifier, App Id, и Client Key.
Код полностью документирован, поэтому это хорошая отправная точка.
Если вы предпочитаете прочитать этот документ, пожалуйста, переходите к следующему шагу.
Внутри вашего представления добавьте фреймворк AuthenticationServices и создайте AuthDelegate, который будет обрабатывать PFUserAuthenticationDelegate:
Реализуйте ASAuthorizationControllerDelegate и ASAuthorizationControllerPresentationContextProviding для ViewController:
ViewDidAppear - хорошее место для этого. Если вы выберете другие места, не забудьте вызвать его только один раз:
appleSignInTapped в последней строке также должен быть определен внутри класса ViewController:
Провайдер контекста презентации (ASAuthorizationControllerPresentationContextProviding) запросит, в каком окне должно отображаться диалоговое окно авторизации. Поскольку мы собираемся отображать его в том же окне, мы должны вернуть self.view.window:
Существует несколько вариантов, которые мы должны обработать, когда вызывается делегат, поэтому давайте добавим немного кода, чтобы обрабатывать эти варианты отдельно:
Когда мы успешно аутентифицируемся, мы можем получить авторизованную информацию:
Это место, где мы также можем добавить код для входа в Parse. Так что сразу после делайте что хотите с данными здесь комментария, давайте добавим:
И, конечно, добавьте фреймворк Parse: