Versionshinweise zum Google Log-in für iOS und macOS

Unveröffentlicht

  • Ein Absturz wurde behoben, der auftrat, wenn eine Serverfehlerantwort unter dem Schlüssel error einen Wert enthielt, der kein String war. Der EMM-Fehler-Handler hat -hasPrefix: an den vorhandenen Wert gesendet, was zu einer Ausnahme für einen nicht erkannten Selektor für eine Zahl, ein Array oder ein Objekt geführt hat.
  • Es wurde ein Problem behoben, bei dem ein benutzerdefiniertes nonce und ein angefordertes Token claims verworfen wurden, wenn eine Anmeldung nach einem Neustart der Geräterichtlinien App fortgesetzt wurde.
  • Unterstützung für Swift Package Manager für AppCheckCore 12.x hinzugefügt, um die Kompatibilität mit Firebase 13 zu ermöglichen. CocoaPods-Installationen sind weiterhin auf AppCheckCore 11.x beschränkt. (#626)
  • Es wurde ein Fehler behoben, bei dem eine fehlgeschlagene App Check-Vorbereitung als erfolgreich aufgezeichnet wurde. Dadurch wurde bei späteren Aufrufen von -[GIDSignIn configureWithCompletion:] ein Erfolg gemeldet, ohne dass ein neuer Versuch unternommen wurde. (#626)
  • Mit AppCheckCore 11.x (einschließlich aller CocoaPods-Installationen) wird ein benutzerdefinierter App Check-Anbieter, der weder ein Token noch einen Fehler zurückgibt, jetzt als erfolgreich behandelt, anstatt mit kGIDAppCheckUnexpectedError fehlzuschlagen. (#626)
  • Datenwettlauf bei den Tokens von GIDGoogleUser behoben. Bei gleichzeitigen Token-Updates können die Zugriffs-, Aktualisierungs- und ID-Tokens von verschiedenen Threads gleichzeitig geschrieben werden und Leser können einen teilweise aktualisierten Satz sehen. Die drei Tokens werden jetzt zusammen als ein Snapshot veröffentlicht.
  • accessToken, refreshToken und idToken von GIDGoogleUser werden jetzt alle von diesem Snapshot abgeleitet. Daher werden Schlüssel-Wert-Beobachter von jedem dieser Werte benachrichtigt, wenn sich einer von ihnen ändert, nicht nur, wenn sich der Wert der jeweiligen Property ändert.
  • Schlüssel-Wert-Beobachter dieser Properties werden benachrichtigt, während GIDGoogleUser die interne Sperre hält. Der Aufruf desselben Nutzers über den Beobachter ist in Ordnung, aber ein Beobachter darf nicht synchron (z. B. mit dispatch_sync) auf einen anderen Thread warten, der denselben Nutzer aktualisiert.
  • Es wurde ein Problem behoben, bei dem EMM-Fehlerbehebungsdialoge für die restliche Lebensdauer der App unterdrückt wurden, nachdem ein einzelner Fehler aufgetreten war, während kein Schlüsselfenster verfügbar war. Das Flag „pending-dialog“ wird jetzt bei jedem Exit-Pfad gelöscht und der Löschvorgang wird mit dem Lesevorgang synchronisiert.
  • Es wurde ein Problem behoben, bei dem eine Tokenanfrage, die mit einem EMM-Fehler fehlgeschlagen ist, manchmal mit dem zugrunde liegenden OAuth-Fehler anstelle von kGIDSignInErrorCodeEMM gemeldet wurde, wenn kein Dialogfeld zur Fehlerbehebung angezeigt werden konnte.
  • Es wurde ein EMM-Fehler behoben, der auftrat, während bereits ein Dialogfeld zur Fehlerbehebung angezeigt wurde. Der Fehler wurde als kGIDSignInErrorCodeUnknown (oder als zugrunde liegender OAuth-Fehler bei einer Tokenanfrage) statt als kGIDSignInErrorCodeEMM gemeldet. Es wird kein zweites Dialogfeld angezeigt.

10.0.0

  • WICHTIG: Update auf AppAuth 3.0.0 und GTMAppAuth 6.0.0. Dadurch werden die Mindestbereitstellungsziele auf iOS 15.0 und macOS 12.0 erhöht, die GTMSessionFetcher-Abhängigkeit wird erweitert, um 4.x und 5.x zuzulassen, und das versionsspezifische Swift Package Manager-Manifest wird in Package@swift-5.7.swift umbenannt. Projekte, die weiterhin ältere Betriebssystemversionen unterstützen müssen, sollten bei GoogleSignIn 9.2.0 bleiben. (#628)
  • GIDSignIn.wrapperIdentifier wurde hinzugefügt, damit SDKs, die „Google Log-in“ einbetten, sich über einen neuen gidwrapper-Parameter in den Diagnoseprotokollen von Google identifizieren können. Die Funktion muss aktiviert werden und das bisherige Verhalten bleibt unverändert. (#625)
  • Aktualisieren Sie das Symbol für die Anmeldeschaltfläche auf das Google-G mit Farbverlauf (#633).
  • Swift-Namen der GIDClaim-Factory-Methoden mit expliziten NS_SWIFT_NAME-Annotationen anpinnen; die importierten Swift-Namen bleiben unverändert (#627)
  • Verwenden Sie NSURLComponents, um Tokens richtig zu codieren (#618).
  • Absturz in additionalTokenRefreshParameters behoben, wenn emmSupport den Wert nil hat (#608)
  • Intern
    • SDK-Logging-Parameter konsolidieren, um neue Parameter vorzubereiten (#616)
    • Fehler bei swift-button-functional-test korrigieren (#614)
    • SignInSample-Import korrigieren und Beispiel zu CI hinzufügen (#632)
    • Nicht blockierende Xcode 27-Vorschaujobs zu CI hinzugefügt (#629)
    • Erhöhung der Bereitstellungsziele für Beispiel-Podfiles für Xcode 27 (#634)
    • Abhängigkeiten der Bundler-Gruppe aktualisiert (#594, #630)

9.2.0

  • Ablaufdatum des Aktualisierungstokens verfügbar machen (#577)
  • Unterstützung für die Anforderung des amr (Authentifizierungsmethoden-Referenzen) Anspruchs (#600)
  • Schlüsselbundeinträge bei einer Neuinstallation entfernen (#567)
  • Die Mindestversion der AppAuth-iOS-Abhängigkeit wurde auf 2.1.0 aktualisiert (#603).
  • Fehler bei der Verarbeitung optionaler Bundles für lokalisierte Strings behoben (#373)
  • Alle öffentlichen Header bedingungslos in den Umbrella-Header aufnehmen (#595)
  • GIDSignInButton-Import außerhalb der bedingten Kompilierung verschieben (#591)
  • Intern
    • Warnungen zur Einstellung von Swift Package Manager wurden behoben (#579).
    • Dokumentkommentar für GIDSignInButtonStyle wurde verbessert (#204)
    • Warnung zu nicht zugewiesenem untergeordnetem Element im Asset-Katalog AppIcon behoben (#348)
    • GitHub Actions-Workflow refaktorieren (#580)
    • Upgrade von GitHub Actions auf die neuesten Versionen für die Kompatibilität mit Node 24 (#592, #593)

9.1.0

  • Anfrage von claims (derzeit nur auth_time) über Anmeldemethoden zulassen (#550, #552, #553, #569)
  • addScopes:-Methoden in GIDSignIn aktualisiert, um zuvor angeforderte claims einzuschließen (#557)
  • Intern
    • Zuweisung zu keychainStore so schnell wie möglich im Initialisierer (#540)
    • Unterstützung für Swift 6 hinzugefügt (#543, #544, #546)
    • GitHub Actions-Workflows aktualisieren (#545, #570)
    • Beispiel-App DaysUntilBirthday aktualisieren, um die Anforderung auth_time zu unterstützen (#555)
    • tokenClaims im gesamten Code in claims umbenennen (#568)

9.0.0

  • Bereitstellung einer benutzerdefinierten nonce über GSI für AppAuth zulassen (#402, #476)
  • Ungültigen Fehlercode in GIDSignIn korrigiert (#472)
  • Unterstützung für GTMAppAuth 5 unter macOS hinzugefügt (#522)
  • Fehler bei der Migration von Datenschutz behoben (#533)
  • Intern
    • AppAuthCore als explizite Abhängigkeit hinzufügen (#470)
    • iPhone-Simulator von 14 auf 15 aktualisiert (#494)
    • Integrationstest für Swift-Button korrigieren (#497)
    • Runner auf macos-13 aktualisieren (#498)
    • scorecards.yml aktualisieren, um upload-artifact@v4.6.2 zu verwenden (#516)
    • AppAuth- und GTMAppAuth-Abhängigkeiten aktualisieren (#517, #521)
    • Swift-Integrationstests für einen wiederkehrenden Nutzer korrigieren (#518)
    • .gitignore aktualisieren, um .build und Package.resolved einzuschließen (#520)
    • GIDSignInTest aktualisieren, um NSUserDefaults korrekt einzurichten und zu entfernen (#527)

8.0.0

  • Allgemeine Veröffentlichung mit Unterstützung für Firebase App Check, um die Integrität Ihrer Anwendung bei der Anmeldung mit Google zu gewährleisten
  • Mindestversion für iOS-Unterstützung auf iOS 12 aktualisiert (#445)
  • Intern
    • AppCheckCore-Abhängigkeit auf Version 11.0 aktualisiert (#454)
    • Rückgabe von „instancetype“ zu Test-Hilfsprogramm hinzugefügt (#393)
    • Modularen Import von GTMSessionFetcher entfernt (#403)
    • Bump activesupport from 5.2.5 to 5.2.8.1 in the bundler group (#429)
    • Verworfenen macos-11-Runner entfernen (#447)
    • Aktualisierung der Verwendung der verworfenen Archivierungs-API in Tests (#449)

7.1.0-fac-beta-1.1.0

  • Betaversion, die Firebase App Check-Tokens unterstützt, mit denen die Integrität Ihrer Anwendung bei der Anmeldung mit Google bestätigt wird
  • Unterstützung für Datenschutzmanifeste hinzugefügt, die in v7.1.0 veröffentlicht wurde
  • Intern

7.1.0

  • Aktualisierung auf Swift 5.0 im GoogleSignInSwiftSupport-Pod (#317)
  • Aktualisierungen der Dokumentation (#351, #372)
  • Datenschutzmanifest hinzugefügt (#382)
  • Intern
    • Tippfehler in SFSafariViewController korrigiert (#291)
    • Verwendung von OCMock im Unittest korrigiert (#298)
    • Verwendung des neuen Delegatprotokolls aus GTMAppAuth 4.0.0 (#299)
    • completion darf nicht „nil“ sein, bevor -[GIDSignIn restorePreviousSignIn:] aufgerufen wird (#301).
    • Entfernt den macos-11-Runner in GitHub-Workflows (#302)
    • Aktualisierung der Referenz für den Schaltflächennamen, damit UI-Automatisierungstests erfolgreich sind (#308)

7.1.0-fac-beta-1.0.0

  • Betaversion, die Firebase App Check-Tokens unterstützt, mit denen die Integrität Ihrer Anwendung bei der Anmeldung mit Google bestätigt wird
  • Intern
    • Mindest-iOS-Version für SignInSample-Podfile aktualisieren (#355)
    • Unit-Test-Ziel „AppCheckExample“ aktualisieren, damit es während der Continuous Integration erfolgreich ist (#356)

7.1.0-fac-eap-1.0.0

  • Early-Access-Programm-Release (EAP) mit Unterstützung für Firebase App Check-Tokens, die zur Bestätigung der Integrität Ihrer Anwendung bei der Anmeldung über Google verwendet werden
  • Intern
    • Tippfehler in SFSafariViewController korrigiert (#291)
    • Entfernt den macos-11-Runner in GitHub-Workflows (#302)
    • Aktualisierung der Referenz für den Schaltflächennamen, damit UI-Automatisierungstests erfolgreich sind (#308)
    • completion darf nicht „nil“ sein, bevor -[GIDSignIn restorePreviousSignIn:] aufgerufen wird (#301).
    • Neues Delegatprotokoll von GTMAppAuth 4.0.0 verwenden (#299)

7.0.0

  • Die gesamte Konfiguration kann jetzt über die Datei Info.plist bereitgestellt werden. (#228)
    • Verwenden Sie die folgenden Schlüssel in <key>KEY</key><string>VALUE</string>-Paaren, um das SDK zu konfigurieren:
      • GIDClientID (erforderlich)
      • GIDServerClientID (optional)
      • GIDHostedDomain (optional)
      • GIDOpenIDRealm (optional)
  • Unterstützung für Swift Concurrency. (#187)
  • Verbesserungen der API-Oberfläche (#249, #228, #187)
    • GIDSignIn
      • Neue configuration-Property.
      • Configuration:-Argumente aus signIn:-Methoden entfernt.
      • addScopes: wurde entfernt und zu GIDGoogleUser hinzugefügt.
      • Die Argumente callback: wurden für asynchrone Methoden, die Blöcke verwenden, in completion: umbenannt.
    • GIDGoogleUser
      • Neue configuration-Property.
      • Neue addScopes:-Methode von GIDSignIn verschoben.
      • Das Attribut authentication wurde entfernt und durch Folgendes ersetzt:
        • Neue accessToken-Property.
        • Neue refreshToken-Property.
        • Neue idToken-Property.
        • Neue fetcherAuthorizer-Property.
        • Neue refreshTokensIfNeededWithCompletion:-Methode.
    • Neue GIDToken-Klasse zur Darstellung von Zugriffs-, Aktualisierungs- und ID-Tokens in GIDGoogleUser.
    • Neue GIDSignInResult-Klasse, die das Ergebnis eines erfolgreichen signIn- oder addScopes-Vorgangs darstellt.
    • Die Blocktypdefinitionen GIDSignInCallback, GIDDisconnectCallback und GIDAuthenticationAction wurden entfernt.

6.2.4

  • Die GTMSessionFetcher-Abhängigkeit wurde aktualisiert, um 2.x-Versionen zuzulassen. (#207)

6.2.3

  • Fehler beim Laden von Ressourcen in GoogleSignInSwift mit CocoaPods use_frameworks! behoben (#197)
  • Build-Fehler für GoogleSignInSwift in bestimmten Szenarien bei Verwendung von Swift Package Manager verhindern. (#166)

6.2.2

  • Build-Fehler für GoogleSignInSwift bei Verwendung von Swift Package Manager verhindern. (#157)
  • Build-Fehler in Xcode 12 und früheren Versionen werden verhindert. (#158)

6.2.1

  • Verwenden Sie GoogleSignInSwiftSupport als Namen des CocoaPods für die Swift-Unterstützung. (#137)

6.2.0

  • Unterstützung für macOS. (#104)
  • SwiftUI-Button „Über Google anmelden“ hinzugefügt. (#103)
  • Möglichkeit hinzugefügt, bei der Anmeldung zusätzliche Bereiche anzufordern. (#30)
  • Mehrere Probleme wurden behoben. (#87, #106)

6.1.0

  • Neue Swift-Beispiel-App, die SwiftUI demonstriert. (#63)
  • Unterstützung für Mac Catalyst.
  • Verbesserungen an der addScopes-Implementierung. (#68, #70)

6.0.2

  • Achten Sie darauf, dass Modulimporte verwendet werden können, wenn sie als Bibliothek erstellt werden. (#53)

6.0.1

  • Es wurde ein Problem behoben, bei dem verschachtelte Callbacks für die Methoden „signIn“ und „addScopes“ nicht aufgerufen wurden. (#29)

6.0.0

  • Google Log-in für iOS ist jetzt Open Source.
  • Unterstützung für Swift Package Manager.
  • Unterstützung für Simulator auf M1-Macs.
  • Aktualisierungen der API-Oberfläche
    • GIDSignIn
      • sharedInstance ist jetzt ein Klassenattribut.
      • signIn ist jetzt signInWithConfiguration:presentingViewController:callback: und fordert immer grundlegende Profilbereiche an.
      • addScopes:presentingViewController:callback: ist die neue Methode, um einem aktuell angemeldeten Nutzer Bereiche hinzuzufügen, die über das grundlegende Profil hinausgehen.
      • restorePreviousSignIn ist jetzt restorePreviousSignInWithCallback:.
      • disconnect ist jetzt disconnectWithCallback:.
      • Das Protokoll GIDSignInDelegate wurde zugunsten der Blöcke GIDSignInCallback und GIDDisconnectCallback entfernt.
      • Alle Konfigurationsattribute für den Anmeldeablauf wurden nach GIDConfiguration verschoben.
    • Die Klasse GIDConfiguration wurde hinzugefügt, um die Konfiguration darzustellen, die für die Anmeldung eines Nutzers erforderlich ist.
    • GIDAuthentication
      • getTokensWithHandler: ist jetzt doWithFreshTokens:.
      • Die typedef GIDAuthenticationHandler wurde in GIDAuthenticationAction umbenannt.
      • refreshTokensWithHandler: wurde entfernt. Verwenden Sie stattdessen doWithFreshTokens:.
    • GIDSignInButton ruft GIDSignIn nicht mehr intern auf und muss mit einem IBAction oder Ähnlichem verbunden werden, damit Sie signInWithConfiguration:presentingViewController:callback: aufrufen können, um einen Anmeldevorgang zu starten.

5.0.2

  • Es wurde ein Fehler behoben, bei dem der falsche Fehlercode an signIn:didSignInForUser:withError: gesendet wurde, wenn der Nutzer den iOS-Dialog zur Einholung von Einwilligungen während des Anmeldevorgangs abgebrochen hat.

5.0.1

  • Ein Problem wurde behoben, durch das der Anmeldevorgang unter iOS 13 nicht richtig gestartet werden konnte.
  • Für die ZIP-Distribution ist Xcode 11 oder höher erforderlich.

5.0.0

  • Änderungen an GIDSignIn
    • uiDelegate wurde durch presentingViewController ersetzt.
    • hasAuthInKeychain wurde durch hasPreviousSignIn ersetzt.
    • signInSilently wurde durch restorePreviousSignIn ersetzt.
    • Der eingestellte Fehlercode kGIDSignInErrorCodeNoSignInHandlersInstalled wurde entfernt.
  • Änderungen an GIDAuthentication
    • Die verworfenen Methoden getAccessTokenWithHandler: und refreshAccessTokenWithHandler: wurden entfernt.
  • Änderungen an GIDGoogleUser
    • Die verworfene Property accessibleScopes wurde entfernt. Verwenden Sie stattdessen grantedScopes.
  • Fügt Abhängigkeiten von AppAuth und GTMAppAuth hinzu.
  • Die Abhängigkeit von GoogleToolboxForMac wurde entfernt.
  • iOS 7 wird nicht mehr unterstützt.

4.4.0

  • Die Abhängigkeit von GTM OAuth 2 wurde entfernt.

4.3.0

  • Unterstützt das Enterprise Mobile Management von Google.

4.2.0

  • Fügt grantedScopes zu GIDGoogleUser hinzu, damit nach einer erfolgreichen Anmeldung bestätigt werden kann, welche Bereiche gewährt wurden.
  • Ersetzt accessibleScopes in GIDGoogleUser. Verwenden Sie stattdessen grantedScopes.
  • Lokalisiert GIDSignInButton für hi (Hindi) und fr-CA (Französisch (Kanada)).
  • Fügt dem System-LocalAuthentication-Framework eine Abhängigkeit hinzu.

4.1.2

  • pod try-Unterstützung für den GoogleSignIn-CocoaPod hinzugefügt.

4.1.1

  • Ein Problem wurde behoben, bei dem signInWillDispatch:error: von GIDSignInUIDelegate unter iOS 11 nicht aufgerufen wurde. Beachten Sie, dass weder signIn:presentViewController: noch signIn:dismissViewController: unter iOS 11 aufgerufen werden, da SFAuthenticationSession nicht vom Ansichts-Controller der App dargestellt wird.

4.1.0

  • Verwendet SFAuthenticationSession unter iOS 11.

4.0.2

  • Keine Abhängigkeit mehr von GoogleAppUtilities.

4.0.1

  • Wechselt zu Open-Source-Pod-Abhängigkeiten.
  • Das Aussehen der Anmeldeschaltfläche hängt nicht mehr von den angeforderten Bereichen ab.

4.0.0

  • Der GoogleSignIn-Pod hat jetzt die Form eines statischen Frameworks. Importieren Sie mit #import <GoogleSignIn/GoogleSignIn.h> in Objective-C.
  • Fügt Modulunterstützung hinzu. Sie können auch @import GoogleSignIn; in Objective-C verwenden, wenn das Modul aktiviert ist, und import GoogleSignIn in Swift, ohne einen Bridge-Header zu verwenden.
  • Für Nutzer der eigenständigen ZIP-Distribution werden jetzt mehrere Frameworks bereitgestellt, die alle einem Projekt hinzugefügt werden müssen. Diese Aufteilung ermöglicht mehr Flexibilität bei doppelten Abhängigkeiten.
  • Die verworfene Methode checkGoogleSignInAppInstalled wurde aus GIDSignIn entfernt.
  • Entfernt die Attribute allowsSignInWithBrowser und allowsSignInWithWebView aus GIDSignIn.
  • Die Paket-ID muss nicht mehr als von der App unterstütztes URL-Schema hinzugefügt werden.

3.0.0

  • Stellt die Attribute givenName und familyName für GIDProfileData bereit.
  • Ermöglicht das Festlegen des Attributs loginHint für GIDSignIn, um die ID oder E-Mail-Adresse des Nutzers im Anmeldevorgang vorauszufüllen.
  • Die Kategorie UIViewController(SignIn) und die Property delegate wurden aus GIDSignInButton entfernt.
  • Dafür muss uiDelegate in GIDSignIn richtig festgelegt und das SafariServices-Framework verknüpft sein.
  • Die Abhängigkeit von StoreKit wurde entfernt.
  • Bietet Bitcode-Unterstützung.
  • Aufgrund von Bitcode-Inkompatibilitäten mit Xcode 6 ist Xcode 7.0 oder höher erforderlich.

2.4.0

  • Der Anmeldebutton wird mit dem neuen Google-Logo aktualisiert.
  • Unterstützt die Domaineinschränkung für die Anmeldung.
  • Ermöglicht das Aktualisieren von ID-Tokens.

2.3.2

  • Xcode 7 ist nicht mehr erforderlich.

2.3.1

  • Behebt einen Absturz in imageURLWithDimension: von GIDProfileData.

2.3.0

  • Xcode 7.0 oder höher erforderlich.
  • Verwendet SFSafariViewController für die Anmeldung unter iOS 9. uiDelegate muss festgelegt sein, damit dies funktioniert.
  • Optimiert das Abrufen des Nutzerprofils.
  • Unterstützt GTMFetcherAuthorizationProtocol in GIDAuthentication.

2.2.0

  • Kompatibel mit iOS 9 (Beta). Diese Version des Sign-In SDK enthält keinen Bitcode. Wenn Sie Xcode 7 verwenden, müssen Sie daher ENABLE_BITCODE in Ihrem Projekt auf NO setzen.
  • Fügt beschreibende Kennungen für die Auto-Layout-Einschränkungen von GIDSignInButton hinzu.
  • Für signInSilently muss uiDelegate nicht mehr festgelegt werden.

2.1.0

  • Probleme mit dem automatischen Layout bei GIDSignInButton wurden behoben.
  • Fügt eine API zum Aktualisieren des Zugriffstokens in GIDAuthentication hinzu.
  • Verbesserte Beschreibung der Ausnahme für nicht zugewiesene clientID in GIDSignIn.
  • Weitere kleinere Fehlerkorrekturen.

2.0.1

  • Fehlerkorrekturen

2.0.0

  • Unterstützt die Anmeldung über UIWebView, anstatt dass die App zu einem Browser wechselt. Dies kann mit der neuen Property allowsSignInWithWebView konfiguriert werden.
  • Apps, bei denen der Wechsel zu einem Browser über die Property allowsSignInWithBrowser und die In-App-Webansicht über die Property allowsSignInWithWebView deaktiviert ist, können jetzt eine Aufforderung anzeigen, in der der Nutzer aufgefordert wird, die Google App aus dem App Store herunterzuladen.
  • Behebt ein Problem mit der Größe der Anmeldeschaltfläche, wenn das automatische Layout aktiviert ist
  • signInSilently ruft jetzt den Bevollmächtigten mit einem Fehler auf, wenn hasAuthInKeychain wie dokumentiert NO ist.
  • Weitere kleinere Fehlerkorrekturen

1.0.0

  • Neues SDK mit Fokus auf die Anmeldung und aktualisierter API
  • Dynamisch gerenderte Anmeldeschaltfläche mit kontextbezogenem Branding
  • Unterstützung für grundlegende Profile
  • Attribut „allowsSignInWithBrowser“ hinzugefügt