Note di rilascio dell'SDK Accedi con Google per iOS e macOS

10.1.0

  • RITIRO DELLA DISTRIBUZIONE COCOAPODS. Questa è l'ultima release pubblicata su CocoaPods, che diventerà di sola lettura il 2 dicembre 2026. Esegui la migrazione a Swift Package Manager utilizzando MIGRATING_FROM_COCOAPODS.md. (#656)
  • Supporto di AppCheckCore 12.x, in modo che le app che utilizzano Swift Package Manager possano ora eseguire l'upgrade a Firebase 13 (il podspec accetta anche AppCheckCore 11.x o 12.x). Con AppCheckCore 11.x, un provider App Check personalizzato che non restituisce né un token né un errore viene ora conteggiato come operazione riuscita e una preparazione App Check non riuscita non viene più segnalata come riuscita. (#626)
  • Risolvi i problemi di concorrenza in GIDGoogleUser:
    • Gli osservatori chiave-valore di accessToken, refreshToken, idToken e profile ora ricevono una notifica ogni volta che uno di questi valori cambia, in modo da non vedere mai un utente aggiornato a metà (profile in precedenza non inviava notifiche). configuration ora viene corretto quando l'utente viene creato, anziché riflettere un eventuale aggiornamento successivo del token. (#651)
    • Gli osservatori di coppie chiave-valore ora ricevono una notifica mentre GIDGoogleUser mantiene il blocco interno. È possibile richiamare lo stesso utente, ma un osservatore non deve attendere in modo sincrono (ad es. con dispatch_sync) su un altro thread che sta aggiornando l'utente. (#652)
    • grantedScopes e accessToken non tornano più ai valori precedenti all'aggiunta degli ambiti quando un aggiornamento del token era in corso durante l'aggiunta degli ambiti. (#653)
    • I lettori non vedono più un mix di token vecchi e nuovi durante un aggiornamento simultaneo. (#645)
  • Risolto un problema per cui un nonce personalizzato e un claims richiesto venivano eliminati quando un accesso veniva continuato dopo il riavvio dell'app policy per i dispositivi. (#637)
  • Risolto il problema relativo alla soppressione delle finestre di dialogo di correzione EMM per il resto della durata dell'app dopo l'arrivo di un errore senza finestra chiave e alla segnalazione degli errori EMM come kGIDSignInErrorCodeUnknown o l'errore OAuth sottostante anziché kGIDSignInErrorCodeEMM. (#642)
  • Risolto un arresto anomalo che si verificava quando una risposta di errore del server conteneva un valore non stringa nella chiave error. (#638)
  • Interno
    • Sostituisci lo swizzle NSBundle nei test con un seam GIDBundle inserito (#658)
    • Warm up simulator runtimes before iOS simulator CI jobs (#657)
    • Esegui i test delle unità in Thread Sanitizer per iOS (#644)
    • Semplifica i test EMM (#641)
    • Aggiorna le notifiche push e di PR per utilizzare Cards v2 (#636)

10.0.0

  • BREAKING: aggiornamento ad AppAuth 3.0.0 e GTMAppAuth 6.0.0, che aumenta i target di deployment minimi a iOS 15.0 e macOS 12.0, amplia la dipendenza GTMSessionFetcher per consentire 4.x e 5.x e rinomina il manifest di Swift Package Manager specifico per la versione in Package@swift-5.7.swift. I progetti che devono continuare a supportare le versioni precedenti del sistema operativo devono rimanere su GoogleSignIn 9.2.0. (#628)
  • Aggiungi GIDSignIn.wrapperIdentifier in modo che gli SDK che incorporano Accedi con Google possano identificarsi autonomamente nei log di diagnostica di Google tramite un nuovo parametro gidwrapper. È un'opzione di attivazione e il comportamento preesistente rimane invariato. (#625)
  • Aggiorna l'icona del pulsante di accesso alla G di Google con gradiente (#633)
  • Blocca i nomi Swift dei metodi factory GIDClaim con annotazioni NS_SWIFT_NAME esplicite; i nomi Swift importati rimangono invariati (#627)
  • Utilizza NSURLComponents per codificare correttamente i token (#618)
  • Risolto un arresto anomalo in additionalTokenRefreshParameters quando emmSupport è nil (#608)
  • Interno
    • Consolidamento dei parametri di logging dell'SDK per prepararsi ai nuovi parametri (#616)
    • Correzione di swift-button-functional-test (#614)
    • Correggi l'importazione di SignInSample e aggiungi l'esempio alla CI (#632)
    • Aggiungi job di anteprima Xcode 27 non bloccanti alla CI (#629)
    • Aumenta le destinazioni di deployment del Podfile di esempio per Xcode 27 (#634)
    • Bump the bundler group dependencies (#594, #630)

9.2.0

  • Esposizione della data di scadenza del token di aggiornamento (#577)
  • Supporto della richiesta della dichiarazione amr (Authentication Methods References) (#600)
  • Rimuovi le voci del portachiavi in una nuova installazione (#567)
  • Aggiorna la dipendenza AppAuth-iOS minima alla versione 2.1.0 (#603)
  • Risolto il problema relativo alla gestione dei bundle facoltativi per le stringhe localizzate (#373)
  • Includi incondizionatamente tutte le intestazioni pubbliche nell'intestazione umbrella (#595)
  • Sposta l'importazione di GIDSignInButton al di fuori della compilazione condizionale (#591)
  • Interno
    • Risolti gli avvisi di ritiro di Swift Package Manager (#579)
    • Migliora il commento del documento per GIDSignInButtonStyle (#204)
    • Risolvi l'avviso relativo ai contenuti secondari non assegnati nel catalogo asset AppIcon (#348)
    • Rifattorizza il workflow di GitHub Actions (#580)
    • Esegui l'upgrade di GitHub Actions alle versioni più recenti per la compatibilità con Node 24 (#592, #593)

9.1.0

  • Consenti la richiesta di claims (attualmente solo auth_time) tramite i metodi di accesso (#550, #552, #553, #569)
  • Aggiorna i metodi addScopes: in GIDSignIn per includere claims richiesto in precedenza (#557)
  • Interno
    • Assegna a keychainStore il prima possibile nell'inizializzatore (#540)
    • Aggiunta del supporto per Swift 6 (#543, #544, #546)
    • Aggiorna i workflow di GitHub Actions (#545, #570)
    • Aggiorna l'app di esempio DaysUntilBirthday per supportare la rivendicazione auth_time (#555)
    • Rinomina tokenClaims in claims in tutto il codice (#568)

9.0.0

  • Consenti di fornire un nonce personalizzato tramite GSI ad AppAuth (#402, #476)
  • Correggi il codice di errore non valido in GIDSignIn (#472)
  • Aggiunto il supporto per GTMAppAuth 5 su macOS (#522)
  • Risolti i bug di migrazione della protezione dei dati (#533)
  • Interno
    • Aggiunta di AppAuthCore come dipendenza esplicita (#470)
    • Aggiorna il simulatore di iPhone da 14 a 15 (#494)
    • Correzione del test di integrazione del pulsante Swift (#497)
    • Aggiorna il runner a macos-13 (#498)
    • Update scorecards.yml to use upload-artifact@v4.6.2 (#516)
    • Aggiornamento delle dipendenze AppAuth e GTMAppAuth (#517, #521)
    • Fix Swift integration tests for a returning user (#518)
    • Aggiorna .gitignore per includere .build e Package.resolved (#520)
    • Aggiorna GIDSignInTest per configurare e rimuovere correttamente NSUserDefaults (#527)

8.0.0

  • Release generale che aggiunge il supporto di Firebase App Check per stabilire l'integrità della tua applicazione durante l'accesso con Google
  • Aggiornamento del supporto minimo di iOS a iOS 12 (#445)
  • Interno
    • Aggiornamento della dipendenza AppCheckCore alla versione 11.0 (#454)
    • Aggiungi il ritorno di instancetype all'helper di test (#393)
    • Rimosso l'importo modulare di GTMSessionFetcher (#403)
    • Bump activesupport from 5.2.5 to 5.2.8.1 in the bundler group (#429)
    • Rimuovi il runner macos-11 deprecato (#447)
    • Update deprecated archiving API usage in tests (#449)

7.1.0-fac-beta-1.1.0

7.1.0

  • Aggiornamento a Swift 5.0 nel pod GoogleSignInSwiftSupport (#317)
  • Aggiornamenti della documentazione (#351, #372)
  • Aggiungi il manifest per la privacy (#382)
  • Interno
    • Correzione di un errore di battitura in SFSafariViewController (#291)
    • Risolvi l'utilizzo di OCMock nel test delle unità (#298)
    • Utilizza il nuovo protocollo delegato di GTMAppAuth 4.0.0 (#299)
    • Assicurati che completion non sia nil prima di chiamare -[GIDSignIn restorePreviousSignIn:] (#301)
    • Rimuove il runner macos-11 nei workflow di GitHub (#302)
    • Aggiornamento del riferimento al nome del pulsante per superare i test di automazione della UI (#308)

7.1.0-fac-beta-1.0.0

  • Versione beta che supporta i token di Firebase App Check utilizzati per stabilire l'integrità della tua applicazione durante l'accesso con Google
  • Interno
    • Aggiorna la versione minima di iOS del Podfile SignInSample (#355)
    • Aggiorna la destinazione del test delle unità AppCheckExample per superare l'integrazione continua (#356)

7.1.0-fac-eap-1.0.0

  • Release del programma di accesso in anteprima (EAP) che supporta i token di Firebase App Check utilizzati per stabilire l'integrità della tua applicazione durante l'accesso con Google
  • Interno
    • Correzione di un errore di battitura in SFSafariViewController (#291)
    • Rimuove il runner macos-11 nei workflow di GitHub (#302)
    • Aggiornamento del riferimento al nome del pulsante per superare i test di automazione della UI (#308)
    • Assicurati che completion non sia nil prima di chiamare -[GIDSignIn restorePreviousSignIn:] (#301)
    • Utilizza il nuovo protocollo delegato di GTMAppAuth 4.0.0 (#299)

7.0.0

  • Ora tutta la configurazione può essere fornita tramite il file Info.plist. (#228)
    • Utilizza le seguenti chiavi in coppie <key>KEY</key><string>VALUE</string> per configurare l'SDK:
      • GIDClientID (obbligatorio)
      • (Facoltativo) GIDServerClientID
      • (Facoltativo) GIDHostedDomain
      • (Facoltativo) GIDOpenIDRealm
  • Supporto per la concorrenza Swift. (#187)
  • Miglioramenti alla superficie dell'API (#249, #228, #187)
    • GIDSignIn
      • Nuova proprietà configuration.
      • Sono stati rimossi Configuration: argomenti dai metodi signIn:.
      • addScopes: è stato rimosso e aggiunto a GIDGoogleUser.
      • Gli argomenti callback: sono stati rinominati in completion: per i metodi asincroni che accettano blocchi.
    • GIDGoogleUser
      • Nuova proprietà configuration.
      • Nuovo metodo addScopes: spostato da GIDSignIn.
      • È stata rimossa la proprietà authentication e sostituita con:
        • Nuova proprietà accessToken.
        • Nuova proprietà refreshToken.
        • Nuova proprietà idToken.
        • Nuova proprietà fetcherAuthorizer.
        • Nuovo metodo refreshTokensIfNeededWithCompletion:.
    • Nuova classe GIDToken per rappresentare i token di accesso, aggiornamento e ID in GIDGoogleUser.
    • Nuova classe GIDSignInResult per rappresentare il risultato di un flusso signIn o addScopes riuscito.
    • Definizioni dei tipi di blocco GIDSignInCallback, GIDDisconnectCallback e GIDAuthenticationAction rimosse.

6.2.4

  • Aggiornata la dipendenza GTMSessionFetcher per consentire le versioni 2.x. (#207)

6.2.3

  • Correggi il caricamento delle risorse in GoogleSignInSwift con use_frameworks! di CocoaPods (#197)
  • Evita errori di build per GoogleSignInSwift in determinati scenari quando utilizzi Swift Package Manager. (#166)

6.2.2

  • Evita errori di build per GoogleSignInSwift quando utilizzi Swift Package Manager. (#157)
  • Evita un errore di build su Xcode 12 e versioni precedenti. (#158)

6.2.1

  • Utilizza GoogleSignInSwiftSupport come nome del CocoaPod di supporto di Swift. (#137)

6.2.0

  • Supporto per macOS. (#104)
  • È stato aggiunto un pulsante "Accedi con Google" di SwiftUI. (#103)
  • Aggiunta la possibilità di richiedere ambiti aggiuntivi al momento dell'accesso. (#30)
  • Risolti diversi problemi. (#87, #106)

6.1.0

  • Nuova app di esempio Swift che mostra SwiftUI. (#63)
  • Supporto per Mac Catalyst.
  • Miglioramenti all'implementazione di addScopes. (#68, #70)

6.0.2

  • Assicurati che le importazioni dei moduli possano essere utilizzate quando vengono create come libreria. (#53)

6.0.1

  • Risolve il problema per cui i callback nidificati non venivano chiamati per i metodi signIn e addScopes. (#29)

6.0.0

  • Accedi con Google per iOS è ora open source.
  • Supporto di Swift Package Manager.
  • Supporto per Simulator su Mac M1.
  • Aggiornamenti della piattaforma API
    • GIDSignIn
      • sharedInstance è ora una proprietà della classe.
      • signIn è ora signInWithConfiguration:presentingViewController:callback: e richiede sempre gli ambiti del profilo di base.
      • addScopes:presentingViewController:callback: è il nuovo modo per aggiungere ambiti oltre al profilo di base a un utente attualmente connesso.
      • restorePreviousSignIn è ora restorePreviousSignInWithCallback:.
      • disconnect è ora disconnectWithCallback:.
      • Il protocollo GIDSignInDelegate è stato rimosso a favore dei blocchi GIDSignInCallback e GIDDisconnectCallback.
      • Tutte le proprietà di configurazione del flusso di accesso sono state spostate in GIDConfiguration.
    • La classe GIDConfiguration è stata aggiunta per rappresentare la configurazione necessaria per l'accesso di un utente.
    • GIDAuthentication
      • getTokensWithHandler: è ora doWithFreshTokens:.
      • Il typedef GIDAuthenticationHandler è stato rinominato in GIDAuthenticationAction.
      • refreshTokensWithHandler: è stato rimosso, utilizza doWithFreshTokens:.
    • GIDSignInButton non effettua più chiamate a GIDSignIn internamente e dovrà essere collegato a un IBAction o simile per consentirti di chiamare signInWithConfiguration:presentingViewController:callback: per avviare un flusso di accesso.

5.0.2

  • Corregge il codice di errore errato inviato a signIn:didSignInForUser:withError: quando l'utente annulla la finestra di dialogo per il consenso di iOS durante il flusso di accesso.

5.0.1

  • Risolve un problema per cui il flusso di accesso non può essere avviato correttamente su iOS 13.
  • La distribuzione zip richiede Xcode 11 o versioni successive.

5.0.0

  • Modifiche a GIDSignIn
    • uiDelegate è stato sostituito con presentingViewController.
    • hasAuthInKeychain è stato sostituito con hasPreviousSignIn.
    • signInSilently è stato sostituito con restorePreviousSignIn.
    • Rimosso il codice di errore kGIDSignInErrorCodeNoSignInHandlersInstalled deprecato.
  • Modifiche a GIDAuthentication
    • Rimozione dei metodi deprecati getAccessTokenWithHandler: e refreshAccessTokenWithHandler:.
  • Modifiche a GIDGoogleUser
    • È stata rimossa la proprietà deprecata accessibleScopes. Utilizza invece grantedScopes.
  • Aggiunge dipendenze su AppAuth e GTMAppAuth.
  • Rimuove la dipendenza da GoogleToolboxForMac.
  • Interruzione del supporto per iOS 7.

4.4.0

  • Rimuove la dipendenza da GTM OAuth 2.

4.3.0

  • Supporta la gestione della mobilità aziendale di Google.

4.2.0

  • Aggiunge grantedScopes a GIDGoogleUser, consentendo di confermare quali ambiti sono stati concessi dopo un accesso riuscito.
  • Depreca accessibleScopes in GIDGoogleUser, utilizza invece grantedScopes.
  • Localizza GIDSignInButton per hi (hindi) e fr-CA (francese (Canada)).
  • Aggiunge la dipendenza al framework LocalAuthentication di sistema.

4.1.2

  • Aggiungi il supporto di pod try per il CocoaPod GoogleSignIn.

4.1.1

  • Risolve un problema per cui signInWillDispatch:error: di GIDSignInUIDelegate non veniva chiamato su iOS 11. Tieni presente che né signIn:presentViewController: né signIn:dismissViewController: vengono chiamati su iOS 11 perché SFAuthenticationSession non viene presentato dal view controller dell'app.

4.1.0

  • Utilizza SFAuthenticationSession su iOS 11.

4.0.2

  • Non dipende più da GoogleAppUtilities.

4.0.1

  • Passa alle dipendenze dei pod open source.
  • L'aspetto del pulsante di accesso non dipende più dagli ambiti richiesti.

4.0.0

  • Il pod GoogleSignIn ora assume la forma di un framework statico. Importa con #import <GoogleSignIn/GoogleSignIn.h> in Objective-C.
  • Aggiunge il supporto dei moduli. Puoi anche utilizzare @import GoogleSignIn; in Objective-C, se il modulo è abilitato, e import GoogleSignIn in Swift senza utilizzare un'intestazione bridge.
  • Per gli utenti della distribuzione zip autonoma, ora sono disponibili più framework e tutti devono essere aggiunti a un progetto. Questa scomposizione consente una maggiore flessibilità in caso di dipendenze duplicate.
  • Rimuove il metodo deprecato checkGoogleSignInAppInstalled da GIDSignIn.
  • Rimuove le proprietà allowsSignInWithBrowser e allowsSignInWithWebView da GIDSignIn.
  • Non è più necessario aggiungere l'ID pacchetto come schema URL supportato dall'app.

3.0.0

  • Fornisce le proprietà givenName e familyName su GIDProfileData.
  • Consente di impostare la proprietà loginHint su GIDSignIn per precompilare l'ID o l'indirizzo email dell'utente nel flusso di accesso.
  • È stata rimossa la categoria UIViewController(SignIn) e la proprietà delegate da GIDSignInButton.
  • Richiede che uiDelegate sia stato impostato correttamente su GIDSignIn e che il framework SafariServices sia stato collegato.
  • Rimuove la dipendenza da StoreKit.
  • Fornisce il supporto di bitcode.
  • Richiede Xcode 7.0 o versioni successive a causa di incompatibilità del bitcode con Xcode 6.

2.4.0

  • Aggiorna il pulsante di accesso con il nuovo logo Google.
  • Supporta la limitazione del dominio per l'accesso.
  • Consente di aggiornare i token ID.

2.3.2

  • Xcode 7 non è più richiesto.

2.3.1

  • Corregge un arresto anomalo in imageURLWithDimension: di GIDProfileData.

2.3.0

  • Richiede Xcode 7.0 o versioni successive.
  • Utilizza SFSafariViewController per l'accesso su iOS 9. Affinché questa operazione funzioni, è necessario impostare uiDelegate.
  • Ottimizza il recupero del profilo utente.
  • Supporta GTMFetcherAuthorizationProtocol in GIDAuthentication.

2.2.0

  • Compatibile con iOS 9 (beta). Tieni presente che questa versione dell'SDK Sign-In non include bitcode, pertanto devi impostare ENABLE_BITCODE su NO nel tuo progetto se utilizzi Xcode 7.
  • Aggiunge identificatori descrittivi per i vincoli di layout automatico di GIDSignInButton.
  • signInSilently non richiede più l'impostazione uiDelegate.

2.1.0

  • Risolve i problemi di layout automatico con GIDSignInButton.
  • Aggiunge l'API per aggiornare il token di accesso in GIDAuthentication.
  • Descrizione dell'eccezione migliorata per il clientID non assegnato in GIDSignIn.
  • Altre correzioni di bug minori.

2.0.1

  • Correzioni di bug

2.0.0

  • Supporta l'accesso tramite UIWebView anziché il passaggio dall'app a un browser, configurabile con la nuova proprietà allowsSignInWithWebView.
  • Ora le app che hanno disattivato il passaggio dell'app a un browser tramite la proprietà allowsSignInWithBrowser e la visualizzazione web in-app tramite la proprietà allowsSignInWithWebView hanno la possibilità di mostrare un messaggio che invita l'utente a scaricare l'app Google dall'App Store.
  • Risolve il problema di dimensionamento del pulsante di accesso quando è attivo il layout automatico
  • signInSilently ora chiama il delegato con l'errore quando hasAuthInKeychain è NO come documentato
  • Altre correzioni di bug minori

1.0.0

  • Nuovo SDK incentrato sull'accesso con API aggiornata
  • Pulsante di accesso visualizzato dinamicamente con branding contestuale
  • Supporto del profilo di base
  • Aggiunta della proprietà allowsSignInWithBrowser