Примечания к выпуску SDK для входа в Google для iOS и macOS

9.1.0

  • Разрешить запрос claims (в настоящее время только auth_time ) через методы входа в систему ( #550 , #552 , #553 , #569 )
  • Обновите методы addScopes: в GIDSignIn , чтобы они включали ранее запрошенные claims ( #557 )
  • Внутренний
    • Назначить в keychainStore как можно скорее в инициализаторе ( #540 )
    • Добавлена ​​поддержка Swift 6 ( #543 , #544 , #546 )
    • Обновление рабочих процессов GitHub Actions ( #545 , #570 )
    • Обновите пример приложения DaysUntilBirthday , чтобы он поддерживал утверждение auth_time ( #555 )
    • Переименовать tokenClaims в claims по всему коду ( #568 )

9.0.0

  • Разрешить передачу пользовательского nonce через GSI в AppAuth ( #402 , #476 )
  • Исправлена ​​ошибка с недействительным кодом в GIDSignIn ( #472 )
  • Добавлена ​​поддержка GTMAppAuth 5 на macOS ( #522 )
  • Исправлены ошибки миграции Data Protected ( #533 )
  • Внутренний
    • Добавить AppAuthCore в качестве явной зависимости ( #470 )
    • Обновление симулятора iPhone с версии 14 до 15 ( #494 )
    • Исправлен тест интеграции кнопок Swift ( #497 )
    • Обновление runner до macOS-13 ( #498 )
    • Обновите файл scorecards.yml , чтобы использовать upload-artifact@v4.6.2 ( #516 )
    • Обновление зависимостей AppAuth и GTMAppAuth ( #517 , #521 )
    • Исправить интеграционные тесты Swift для пользователя, вернувшегося на сайт ( #518 )
    • Обновите файл .gitignore , добавив в него файлы .build и Package.resolved ( #520 )
    • Обновите GIDSignInTest, чтобы он корректно устанавливал и удалял NSUserDefaults ( #527 )

8.0.0

  • В основной версии добавлена ​​поддержка Firebase App Check для проверки целостности вашего приложения при входе через Google.
  • Обновление минимальной поддержки iOS до iOS 12 ( #445 )
  • Внутренний
    • Обновите зависимость AppCheckCore до версии 11.0 ( #454 )
    • Добавить возвращаемое значение типа экземпляра в вспомогательную функцию тестирования ( #393 )
    • Удалить модульный импорт GTMSessionFetcher ( #403 )
    • Обновлена ​​версия activesupport с 5.2.5 до 5.2.8.1 в группе bundler ( #429 )
    • Удалить устаревший macos-11 runner ( #447 )
    • Обновить использование устаревшего API архивирования в тестах ( #449 )

7.1.0-fac-beta-1.1.0

  • Бета-версия с поддержкой токенов Firebase App Check, используемых для подтверждения целостности вашего приложения при входе в систему через Google.
  • Добавлена ​​поддержка манифеста конфиденциальности, выпущенная в версии 7.1.0.
  • Внутренний

7.1.0

  • Обновление до Swift 5.0 в подпроекте GoogleSignInSwiftSupport ( #317 )
  • Обновления документации ( #351 , #372 )
  • Добавить манифест конфиденциальности ( #382 )
  • Внутренний
    • Исправлена ​​опечатка в SFSafariViewController ( #291 )
    • Исправление использования OCMock в модульном тесте ( #298 )
    • Используйте новый протокол делегата из GTMAppAuth 4.0.0 ( #299 )
    • Убедитесь, что completion не равно nil, прежде чем вызывать -[GIDSignIn restorePreviousSignIn:] ( #301 )
    • Удаляет средство запуска macos-11 из рабочих процессов GitHub ( #302 )
    • Обновлена ​​ссылка на имя кнопки, чтобы тесты автоматизации пользовательского интерфейса проходили успешно ( #308 )

7.1.0-fac-beta-1.0.0

  • Бета-версия с поддержкой токенов Firebase App Check, используемых для подтверждения целостности вашего приложения при входе в систему через Google.
  • Внутренний
    • Обновите Podfile SignInSample до минимальной версии iOS ( #355 )
    • Обновите целевой объект модульного теста AppCheckExample, чтобы он проходил проверку в процессе непрерывной интеграции ( #356 ).

7.1.0-fac-eap-1.0.0

  • В рамках программы раннего доступа (EAP) выпущена версия, поддерживающая токены Firebase App Check, используемые для подтверждения целостности вашего приложения при входе в систему через Google.
  • Внутренний
    • Исправлена ​​опечатка в SFSafariViewController ( #291 )
    • Удаляет средство запуска macos-11 из рабочих процессов GitHub ( #302 )
    • Обновлена ​​ссылка на имя кнопки, чтобы тесты автоматизации пользовательского интерфейса проходили успешно ( #308 )
    • Убедитесь, что completion не равно nil, прежде чем вызывать -[GIDSignIn restorePreviousSignIn:] ( #301 )
    • Используйте новый протокол делегата из GTMAppAuth 4.0.0 ( #299 )

7.0.0

  • Теперь все параметры конфигурации можно задать через файл Info.plist . ( #228 )
    • Для настройки SDK используйте следующие ключи парами <key>KEY</key><string>VALUE</string> :
      • GIDClientID (обязательно)
      • GIDServerClientID (необязательно)
      • GIDHostedDomain (необязательно)
      • GIDOpenIDRealm (необязательно)
  • Поддержка параллельного выполнения в Swift ( #187 )
  • Улучшения поверхности API ( #249 , #228 , #187 )
    • GIDSignIn
      • Новое свойство configuration .
      • Удалены аргументы Configuration: из методов signIn: .
      • Удалил addScopes: и добавил его в GIDGoogleUser .
      • Переименована callback: аргументы для completion: для асинхронных методов, принимающих блоки.
    • GIDGoogleUser
      • Новое свойство configuration .
      • Новый метод addScopes: перемещен из GIDSignIn .
      • Удалено свойство authentication и заменено на:
        • Новое свойство accessToken .
        • Новое свойство refreshToken .
        • Новое свойство idToken .
        • Новое свойство fetcherAuthorizer .
        • Новый метод refreshTokensIfNeededWithCompletion: .
    • В GIDGoogleUser появился новый класс GIDToken для представления токенов доступа, обновления и идентификаторов.
    • Новый класс GIDSignInResult предназначен для представления результата успешного входа в систему или добавления областей действия (addScopes).
    • Удалены определения типов блоков GIDSignInCallback , GIDDisconnectCallback и GIDAuthenticationAction .

6.2.4

  • Обновлена ​​зависимость GTMSessionFetcher для поддержки версий 2.x. ( #207 )

6.2.3

  • Исправлена ​​ошибка загрузки ресурсов в GoogleSignInSwift с использованием CocoaPods use_frameworks! ( #197 )
  • Предотвращение ошибок сборки для GoogleSignInSwift в определенных сценариях при использовании Swift Package Manager. ( #166 )

6.2.2

  • Предотвращение ошибок сборки для GoogleSignInSwift при использовании Swift Package Manager. ( #157 )
  • Предотвращение ошибки сборки в Xcode 12 и более ранних версиях. ( #158 )

6.2.1

  • Используйте GoogleSignInSwiftSupport в качестве имени CocoaPod для поддержки Swift. ( #137 )

6.2.0

  • Поддержка macOS. ( #104 )
  • Добавлена ​​кнопка SwiftUI "Войти через Google". ( #103 )
  • Добавлена ​​возможность запрашивать дополнительные области действия при входе в систему. ( #30 )
  • Исправлено несколько ошибок. ( #87 , #106 )

6.1.0

  • Новое демонстрационное приложение на Swift, показывающее SwiftUI. ( #63 )
  • Поддержка Mac Catalyst.
  • Улучшения в реализации addScopes . ( #68 , #70 )

6.0.2

  • Убедитесь, что импорт модулей возможен при сборке в виде библиотеки. ( #53 )

6.0.1

  • Исправлена ​​ошибка, из-за которой не вызывались вложенные коллбэки для методов signIn и addScopes. ( #29 )

6.0.0

  • Функция авторизации Google для iOS теперь имеет открытый исходный код.
  • Поддержка Swift Package Manager.
  • Поддержка симулятора на компьютерах Mac с процессором M1.
  • Обновления поверхности API
    • GIDSignIn
      • sharedInstance теперь является свойством класса.
      • Теперь signIn это signInWithConfiguration:presentingViewController:callback: и он всегда запрашивает базовые области видимости профиля.
      • addScopes:presentingViewController:callback: это новый способ добавления областей действия (scopes) за пределы базового профиля для уже авторизованного пользователя.
      • restorePreviousSignIn теперь называется restorePreviousSignInWithCallback: .
      • disconnect теперь называется disconnectWithCallback: .
      • Протокол GIDSignInDelegate был удалён в пользу блоков GIDSignInCallback и GIDDisconnectCallback .
      • Все параметры конфигурации процесса входа в систему перенесены в GIDConfiguration .
    • Класс GIDConfiguration был добавлен для представления конфигурации, необходимой для входа пользователя в систему.
    • GIDAuthentication
      • getTokensWithHandler: теперь равно doWithFreshTokens: .
      • Тип GIDAuthenticationHandler был переименован GIDAuthenticationAction .
      • refreshTokensWithHandler: была удалена, используйте вместо неё doWithFreshTokens: :.
    • GIDSignInButton больше не вызывает GIDSignIn внутри себя и должен быть связан с IBAction или аналогичным элементом, чтобы вы могли вызвать signInWithConfiguration:presentingViewController:callback: для запуска процесса входа в систему.

5.0.2

  • Исправлена ​​ошибка, из-за которой в signIn:didSignInForUser:withError: отправлялся некорректный код ошибки, возникающий при отмене пользователем диалогового окна согласия iOS во время входа в систему.

5.0.1

  • Исправлена ​​ошибка, из-за которой процесс авторизации не запускался корректно в iOS 13.
  • Для распространения ZIP-архива требуется Xcode версии 11 или выше.

5.0.0

  • Изменения в GIDSignIn
    • uiDelegate заменен на presentingViewController .
    • hasAuthInKeychain заменена на hasPreviousSignIn .
    • signInSilently заменена на restorePreviousSignIn .
    • Удалён устаревший код ошибки kGIDSignInErrorCodeNoSignInHandlersInstalled .
  • Изменения в GIDAuthentication
    • Удалены устаревшие методы getAccessTokenWithHandler: и refreshAccessTokenWithHandler:
  • Изменения в GIDGoogleUser
    • Удалено устаревшее свойство accessibleScopes , используйте grantedScopes вместо него.
  • Добавляет зависимости от AppAuth и GTMAppAuth.
  • Устраняет зависимость от GoogleToolboxForMac.
  • Прекращается поддержка iOS 7.

4.4.0

  • Устраняет зависимость от GTM OAuth 2.

4.3.0

  • Поддерживает функцию управления корпоративными мобильными устройствами Google.

4.2.0

  • Добавляет grantedScopes к GIDGoogleUser , позволяя подтвердить, какие области действия были предоставлены после успешного входа в систему.
  • В классе GIDGoogleUser accessibleScopes устарел, вместо него следует использовать grantedScopes .
  • Локализует GIDSignInButton для hi (хинди) и fr-CA (французский (Канада)).
  • Добавляет зависимость от системной среды LocalAuthentication .

4.1.2

  • Добавлена ​​поддержка функции pod try для CocoaPod GoogleSignIn.

4.1.1

  • Исправлена ​​ошибка, из-за которой метод signInWillDispatch:error: класса GIDSignInUIDelegate не вызывался в iOS 11. Обратите внимание, что предполагается, что signIn:presentViewController: и signIn:dismissViewController: не вызываются в iOS 11, поскольку SFAuthenticationSession не отображается в контроллере представления приложения.

4.1.0

  • Использует SFAuthenticationSession на iOS 11.

4.0.2

  • Больше не зависит от GoogleAppUtilities.

4.0.1

  • Переключение на зависимости pod с открытым исходным кодом.
  • Отображение кнопки входа в систему больше не зависит от запрошенных областей действия.

4.0.0

  • Теперь pod-модуль GoogleSignIn представляет собой статическую структуру. Импортируйте его с помощью #import <GoogleSignIn/GoogleSignIn.h> в Objective-C.
  • Добавляет поддержку модулей. Вы также можете использовать @import GoogleSignIn; в Objective-C, если модуль включен, и import GoogleSignIn в Swift без использования заголовочного файла-моста.
  • Для пользователей автономной zip-версии дистрибутива теперь предоставляется несколько фреймворков, и все их необходимо добавить в проект. Такое разделение обеспечивает большую гибкость в случае дублирования зависимостей.
  • Удаляет устаревший метод checkGoogleSignInAppInstalled из GIDSignIn .
  • Удаляет свойства allowsSignInWithBrowser и allowsSignInWithWebView из GIDSignIn .
  • Больше не требуется добавлять идентификатор пакета в качестве схемы URL, поддерживаемой приложением.

3.0.0

  • Предоставляет свойства givenName и familyName для GIDProfileData .
  • Позволяет установить свойство loginHint в GIDSignIn для автоматического заполнения идентификатора пользователя или адреса электронной почты в процессе входа в систему.
  • Удален класс UIViewController(SignIn) , а также свойство delegate из GIDSignInButton .
  • Требуется, чтобы uiDelegate был корректно настроен в GIDSignIn и чтобы была подключена среда SafariServices.
  • Устраняет зависимость от StoreKit.
  • Обеспечивает поддержку битового кода.
  • Для работы требуется Xcode 7.0 или выше из-за несовместимости Bitcode с Xcode 6.

2.4.0

  • Обновлена ​​кнопка входа в систему с новым логотипом Google.
  • Поддерживает ограничение доступа по домену для входа в систему.
  • Позволяет обновлять идентификационные токены.

2.3.2

  • Больше не требуется Xcode 7.

2.3.1

  • Исправлена ​​ошибка, приводившая к сбою в функции imageURLWithDimension: в GIDProfileData .

2.3.0

  • Требуется Xcode версии 7.0 или выше.
  • Для авторизации в iOS 9 используется SFSafariViewController. Для корректной работы необходимо установить uiDelegate .
  • Оптимизирует получение профиля пользователя.
  • Поддерживает протокол GTMFetcherAuthorizationProtocol в GIDAuthentication.

2.2.0

  • Совместимо с iOS 9 (бета-версия). Обратите внимание, что эта версия SDK для входа в систему не включает Bitcode, поэтому, если вы используете Xcode 7, вам необходимо установить параметр ENABLE_BITCODE в значение NO в вашем проекте.
  • Добавляет описательные идентификаторы для ограничений автоматической компоновки GIDSignInButton.
  • signInSilently больше не требует установки uiDelegate .

2.1.0

  • Исправлены проблемы с автоматической компоновкой кнопки GIDSignInButton.
  • Добавляет API для обновления токена доступа в GIDAuthentication.
  • Более подробное описание исключения для неназначенного clientID в GIDSignIn.
  • Другие мелкие исправления ошибок.

2.0.1

  • Исправлены ошибки

2.0.0

  • Поддерживается вход в систему через UIWebView вместо переключения приложения в браузер, настраивается с помощью нового свойства allowsSignInWithWebView .
  • Теперь приложения, в которых отключена возможность переключения на браузер через свойство allowsSignInWithBrowser и веб-просмотр внутри приложения через свойство allowsSignInWithWebView , могут отображать запрос с предложением загрузить приложение Google из App Store.
  • Исправлена ​​проблема с размером кнопки входа в систему при включенной автоматической компоновке.
  • signInSilently теперь вызывает делегат с ошибкой, когда hasAuthInKeychain имеет значение NO , как и было задокументировано.
  • Другие мелкие исправления ошибок

1.0.0

  • Новый SDK, ориентированный на авторизацию, с обновленным API.
  • Динамически отображаемая кнопка входа в систему с контекстной символикой.
  • Базовая поддержка профилей
  • Добавлено свойство allowsSignInWithBrowser