Попробуйте войти в систему для iOS

Воспользуйтесь нашим примером приложения для iOS, чтобы увидеть, как работает вход, или добавьте вход в существующее приложение .

Чтобы использовать этот образец, убедитесь, что у вас есть Xcode и CocoaPods .

Получить проект

Начните с примера, используя следующую команду в терминале:

pod try GoogleSignIn

CocoaPods клонирует образец проекта из GitHub и откроет его в Xcode.

Получите идентификатор клиента OAuth

Нажмите кнопку ниже, чтобы создать новый проект Google API и получить идентификатор клиента iOS для этого проекта. При появлении запроса укажите com .google .samples .quickstart .SignInExample в качестве идентификатора пакета.

Создайте идентификатор клиента OAuth

После создания идентификатора клиента OAuth скопируйте его поверх текста-заполнителя в AppDelegate.m :

[GIDSignIn sharedInstance].clientID = @"YOUR_CLIENT_ID";

Установите тип URL обратного вызова

Перед тем, как войти в систему, вам необходимо настроить тип URL-адреса для обработки обратного вызова. На вкладке «Информация» вашего проекта Xcode в разделе « Типы URL-адресов » найдите поле « Схемы URL-адресов», содержащее строку YOUR_REVERSED_CLIENT_ID . Замените эту строку вашим обратным идентификатором клиента - вашим идентификатором клиента с обратным порядком полей, разделенных точками. Например:

com.googleusercontent.apps.1234567890-abcdefg

Запустить приложение

Теперь вы готовы создать и запустить образец приложения из Xcode.

Выберите цель SignInExample , затем запустите пример приложения на устройстве или в симуляторе iOS, нажав кнопку запуска для рабочей области.

Как это работает

Добавьте представление GIDSignInButton в свое приложение в раскадровке, файле XIB или программно. В signIn:didSignInForUser:withError метод делегата signIn:didSignInForUser:withError который будет вызываться, когда пользователь нажимает кнопку входа и завершает процесс входа.

- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
     withError:(NSError *)error {
  if (error != nil) {
    if (error.code == kGIDSignInErrorCodeHasNoAuthInKeychain) {
      NSLog(@"The user has not signed in before or they have since signed out.");
    } else {
      NSLog(@"%@", error.localizedDescription);
    }
    return;
  }
  // Perform any operations on signed in user here.
  NSString *userId = user.userID;                  // For client-side use only!
  NSString *idToken = user.authentication.idToken; // Safe to send to the server
  NSString *fullName = user.profile.name;
  NSString *givenName = user.profile.givenName;
  NSString *familyName = user.profile.familyName;
  NSString *email = user.profile.email;
  // ...
}
      

Следующие шаги

Если вы хотите узнать, как реализовать вход через Google в собственном приложении, ознакомьтесь с нашим руководством по внедрению.

Добавьте вход в свое приложение

У вас был хороший опыт? Возникли проблемы? Дайте нам знать!