Platform

Технический гид: Настройка «Вход с Apple» в XCode

15min

Учебник по входу с Apple

Введение

Вход с Apple позволяет пользователям входить в приложения, используя свой Apple ID. Эта функция доступна на iOS 13 и более поздних версиях, а также на Parse 3.5 и более поздних версиях.

Предварительные требования

Для завершения этого учебника вам потребуется:

1 - Создайте новое приложение Back4App

Прежде всего, необходимо убедиться, что у вас есть существующее приложение, созданное на Back4App. Однако, если вы новый пользователь, вы можете ознакомиться с этим учебником чтобы узнать, как создать одно.

2 - Добавьте возможность Войти с помощью Apple в ваш проект XCode

В вашем проекте XCode нажмите на Цель (1) и перейдите на вкладку Подпись и возможности (2). Нажмите кнопку + Возможность (3) и добавьте возможность Войти с помощью Apple (4). Пока вы там, выберите ваш Идентификатор пакета (5) и сохраните эту информацию, потому что она нам понадобится позже.



3 - Создайте новый Идентификатор службы

Войдите в свой учетную запись разработчика Apple и перейдите в раздел Идентификаторы . Проверьте, есть ли ваш созданный Идентификатор пакета там



Нажмите на Идентификатор пакета и прокрутите вниз. Проверьте, выбран ли Войти с помощью Apple.



Нажмите Редактировать и убедитесь, что Включить как основной идентификатор приложения выбран



Если все верно, сохраните и выйдите.

4 - Настройка Parse Auth для Apple

Перейдите на сайт Back4App, войдите в систему и найдите ваше приложение. После этого нажмите на Настройки сервера найдите блок Вход через Apple и выберите Настройки.

Раздел Вход через Apple выглядит так:



Теперь вам просто нужно вставить ваш Bundle ID в поле ниже и нажать кнопку для сохранения.



Если у вас возникнут какие-либо проблемы при интеграции Apple Login, пожалуйста, свяжитесь с нашей командой через чат!

5 - Вариант 1 - Скачайте наш шаблон

В процессе настройки входа с помощью Apple требуется немного программирования, поэтому мы создали этот шаблон который вы можете скачать и изменить Bundle Identifier, App Id, и Client Key.

Код полностью документирован, поэтому это хорошая отправная точка.

Если вы предпочитаете прочитать этот документ, пожалуйста, переходите к следующему шагу.

6 - Вариант 2 - Написать код вручную

Внутри вашего представления добавьте фреймворк AuthenticationServices и создайте AuthDelegate, который будет обрабатывать PFUserAuthenticationDelegate:

Swift


7 - Реализуйте свои делегаты для ViewController

Реализуйте ASAuthorizationControllerDelegate и ASAuthorizationControllerPresentationContextProviding для ViewController:

Swift


8 - Добавьте кнопку Войти с помощью Apple

ViewDidAppear - хорошее место для этого. Если вы выберете другие места, не забудьте вызвать его только один раз:

Swift


appleSignInTapped в последней строке также должен быть определен внутри класса ViewController:

Swift


9 - presentationContextProvider

Провайдер контекста презентации (ASAuthorizationControllerPresentationContextProviding) запросит, в каком окне должно отображаться диалоговое окно авторизации. Поскольку мы собираемся отображать его в том же окне, мы должны вернуть self.view.window:

Swift


10 - Обработка делегата ASAuthorizationControllerDelegate

Существует несколько вариантов, которые мы должны обработать, когда вызывается делегат, поэтому давайте добавим немного кода, чтобы обрабатывать эти варианты отдельно:

Swift


11 - Обработка делегата для didCompleteWithAuthorization

Когда мы успешно аутентифицируемся, мы можем получить авторизованную информацию:

Swift


Это место, где мы также можем добавить код для входа в Parse. Так что сразу после делайте что хотите с данными здесь комментария, давайте добавим:

Swift


И, конечно, добавьте фреймворк Parse:

Swift