Notas da versão do SDK do Login do Google para iOS e macOS

Não lançado

  • Correção de uma falha quando uma resposta de erro do servidor carrega um valor não string na chave error. O manipulador de erros do EMM enviou -hasPrefix: para qualquer valor presente, gerando uma exceção de seletor não reconhecido em um número, uma matriz ou um objeto.
  • Correção de um nonce personalizado e um token solicitado claims que eram descartados quando um login era continuado após a reinicialização do app Device Policy.

10.0.0

  • MUDANÇA RADICAL: atualize para o AppAuth 3.0.0 e o GTMAppAuth 6.0.0, que aumentam os destinos mínimos de implantação para iOS 15.0 e macOS 12.0, ampliam a dependência GTMSessionFetcher para permitir 4.x e 5.x e renomeiam o manifesto do Swift Package Manager específico da versão para Package@swift-5.7.swift. Os projetos que precisam continuar oferecendo suporte a versões anteriores do SO devem permanecer no GoogleSignIn 9.2.0. (#628).
  • Adicione GIDSignIn.wrapperIdentifier para que os SDKs que incorporam o Login do Google possam se autoidentificar nos registros de diagnóstico do Google usando um novo parâmetro gidwrapper. Ela é ativada e o comportamento preexistente não muda. (#625)
  • Atualize o ícone do botão de login para o G do Google gradiente (#633).
  • Fixar os nomes Swift dos métodos de fábrica GIDClaim com anotações NS_SWIFT_NAME explícitas. Os nomes Swift importados não são alterados (#627).
  • Use NSURLComponents para codificar tokens corretamente (#618)
  • Correção de uma falha em additionalTokenRefreshParameters quando emmSupport é nil (#608).
  • Interno
    • Consolidar parâmetros de geração de registros do SDK para se preparar para novos (#616)
    • Correção de swift-button-functional-test (#614).
    • Corrigir a importação de SignInSample e adicionar a amostra à CI (#632)
    • Adição de jobs de visualização não bloqueadores do Xcode 27 à CI (#629)
    • Aumentar os destinos de implantação do Podfile de exemplo para o Xcode 27 (#634)
    • Aumentar as dependências do grupo de pacotes (#594, #630)

9.2.0

  • Expor a data de validade do token de atualização (#577)
  • Suporte para solicitar a declaração amr (referências de métodos de autenticação) (#600)
  • Remoção de entradas do keychain em uma nova instalação (#567)
  • Atualize a dependência mínima do AppAuth-iOS para 2.1.0 (#603)
  • Correção do processamento de pacotes opcionais para strings localizadas (#373)
  • Incluir todos os cabeçalhos públicos incondicionalmente no cabeçalho principal (#595)
  • Mover a importação de GIDSignInButton para fora da compilação condicional (#591)
  • Interno
    • Correção dos avisos de descontinuação do Swift Package Manager (#579)
    • Melhoria do comentário do documento para GIDSignInButtonStyle (#204).
    • Resolver o aviso de criança não atribuída no catálogo de recursos AppIcon (#348)
    • Refatorar o fluxo de trabalho das ações do GitHub (#580)
    • Faça upgrade das ações do GitHub para as versões mais recentes para compatibilidade com o Node 24 (#592, #593)

9.1.0

  • Permitir a solicitação de claims (atualmente, apenas auth_time) usando Métodos de login (#550, #552, #553, #569)
  • Atualizar os métodos addScopes: em GIDSignIn para incluir o claims solicitado anteriormente (#557)
  • Interno
    • Atribua a keychainStore assim que possível no inicializador (#540).
    • Adição de suporte ao Swift 6 (#543, #544, #546)
    • Atualização dos fluxos de trabalho das ações do GitHub (#545, #570)
    • Atualize o app de exemplo DaysUntilBirthday para oferecer suporte à declaração auth_time (#555)
    • tokenClaims foi renomeado como claims em todo o código (#568).

9.0.0

  • Permitir o fornecimento de um nonce personalizado via GSI para o AppAuth (#402, #476)
  • Correção do código de erro inválido em GIDSignIn (#472)
  • Adição de suporte ao GTMAppAuth 5 no macOS (#522)
  • Correção de bugs de migração protegida de dados (#533)
  • Interno
    • Adição do AppAuthCore como dependência explícita (#470)
    • Atualizar o simulador do iPhone de 14 para 15 (#494)
    • Corrigir o teste de integração do botão Swift (#497)
    • Atualizar o runner para macos-13 (#498)
    • Atualizar scorecards.yml para usar upload-artifact@v4.6.2 (#516)
    • Atualização das dependências do AppAuth e do GTMAppAuth (#517, #521)
    • Correção de testes de integração do Swift para um usuário recorrente (#518)
    • Atualizar .gitignore para incluir .build e Package.resolved (#520)
    • Atualize GIDSignInTest para configurar e encerrar corretamente NSUserDefaults (#527).

8.0.0

  • Versão geral que adiciona suporte ao Firebase App Check para estabelecer a integridade do seu aplicativo ao fazer login com o Google.
  • Atualização do suporte mínimo do iOS para o iOS 12 (#445)
  • Interno
    • Atualize a dependência AppCheckCore para a v11.0 (#454).
    • Adição do retorno de instancetype ao auxiliar de teste (#393)
    • Remover a importação modular do GTMSessionFetcher (#403)
    • Atualizar o activesupport de 5.2.5 para 5.2.8.1 no grupo do bundler (#429)
    • Remover o executor macos-11 descontinuado (#447)
    • Atualizar o uso da API de arquivamento descontinuada em testes (#449)

7.1.0-fac-beta-1.1.0

  • Versão Beta com suporte a tokens do Firebase App Check usados para estabelecer a integridade do aplicativo ao fazer login com o Google.
  • Adiciona suporte ao manifesto de privacidade lançado na v7.1.0
  • Interno

7.1.0

  • Atualização para Swift 5.0 no pod GoogleSignInSwiftSupport (#317)
  • Atualizações da documentação (#351, #372)
  • Adicionar manifesto de privacidade (#382)
  • Interno
    • Correção de um erro de digitação em SFSafariViewController (#291).
    • Correção do uso de OCMock no teste de unidade (#298).
    • Usar o novo protocolo de delegação do GTMAppAuth 4.0.0 (#299)
    • Verifique se completion não é nulo antes de chamar -[GIDSignIn restorePreviousSignIn:] (#301)
    • Remove o executor macos-11 nos fluxos de trabalho do GitHub (#302)
    • Atualiza a referência do nome do botão para que os testes de automação de UI sejam aprovados (#308)

7.1.0-fac-beta-1.0.0

  • Versão Beta com suporte a tokens do Firebase App Check usados para estabelecer a integridade do aplicativo ao fazer login com o Google.
  • Interno
    • Atualizar a versão mínima do iOS do Podfile SignInSample (#355)
    • Atualizar o destino do teste de unidade AppCheckExample para ser aprovado durante a integração contínua (#356)

7.1.0-fac-eap-1.0.0

  • Versão do Programa de Acesso Antecipado (PAA) que oferece suporte a tokens do Firebase App Check usados para estabelecer a integridade do aplicativo ao fazer login com o Google
  • Interno
    • Correção de um erro de digitação em SFSafariViewController (#291).
    • Remove o executor macos-11 nos fluxos de trabalho do GitHub (#302)
    • Atualiza a referência do nome do botão para que os testes de automação de UI sejam aprovados (#308)
    • Verifique se completion não é nulo antes de chamar -[GIDSignIn restorePreviousSignIn:] (#301)
    • Use o novo protocolo de delegação do GTMAppAuth 4.0.0 (#299)

7.0.0

  • Agora, todas as configurações podem ser fornecidas pelo arquivo Info.plist. (#228)
    • Use as seguintes chaves em pares <key>KEY</key><string>VALUE</string> para configurar o SDK:
      • GIDClientID (obrigatório)
      • GIDServerClientID (opcional)
      • GIDHostedDomain (opcional)
      • GIDOpenIDRealm (opcional)
  • Suporte à concorrência do Swift. (#187).
  • Melhorias na superfície da API (#249, #228, #187)
    • GIDSignIn
      • Nova propriedade configuration.
      • Os argumentos Configuration: foram removidos dos métodos signIn:.
      • addScopes: foi removido e adicionado a GIDGoogleUser.
      • Os argumentos callback: foram renomeados como completion: para métodos assíncronos que usam blocos.
    • GIDGoogleUser
      • Nova propriedade configuration.
      • Novo método addScopes: movido de GIDSignIn.
      • A propriedade authentication foi removida e substituída por:
        • Nova propriedade accessToken.
        • Nova propriedade refreshToken.
        • Nova propriedade idToken.
        • Nova propriedade fetcherAuthorizer.
        • Novo método refreshTokensIfNeededWithCompletion:.
    • Nova classe GIDToken para representar tokens de acesso, atualização e ID em GIDGoogleUser.
    • Nova classe GIDSignInResult para representar o resultado de um fluxo signIn ou addScopes bem-sucedido.
    • As definições de tipo de bloco GIDSignInCallback, GIDDisconnectCallback e GIDAuthenticationAction foram removidas.

6.2.4

  • Atualizamos a dependência GTMSessionFetcher para permitir versões 2.x. (#207).

6.2.3

  • Correção do carregamento de recursos no GoogleSignInSwift com use_frameworks! do CocoaPods (#197).
  • Evita erros de build para GoogleSignInSwift em determinados cenários ao usar o Gerenciador de pacotes do Swift. (#166).

6.2.2

  • Evita erros de build para GoogleSignInSwift ao usar o Swift Package Manager. (#157).
  • Evite um erro de build no Xcode 12 e versões anteriores. (#158).

6.2.1

  • Use GoogleSignInSwiftSupport como o nome do CocoaPod de suporte do Swift. (#137).

6.2.0

  • Compatibilidade com macOS. (#104)
  • Adicionamos um botão "Fazer login com o Google" do SwiftUI. (#103).
  • Agora é possível solicitar outros escopos no momento do login. (#30)
  • Vários problemas foram corrigidos. (#87, #106).

6.1.0

  • Novo app de exemplo em Swift demonstrando o SwiftUI. (#63)
  • Suporte para Mac Catalyst.
  • Melhorias na implementação do addScopes. (#68, #70)

6.0.2

  • Verifique se as importações de módulos podem ser usadas quando criadas como uma biblioteca. (#53)

6.0.1

  • Correção de callbacks aninhados que não são chamados para os métodos signIn e addScopes. (#29)

6.0.0

  • O Login do Google para iOS agora é de código aberto.
  • Suporte ao Gerenciador de pacotes do Swift.
  • Suporte ao simulador em Macs M1.
  • Atualizações da superfície da API
    • GIDSignIn
      • sharedInstance agora é uma propriedade de classe.
      • signIn agora é signInWithConfiguration:presentingViewController:callback: e sempre solicita escopos de perfil básico.
      • addScopes:presentingViewController:callback: é a nova maneira de adicionar escopos além do perfil básico a um usuário conectado.
      • restorePreviousSignIn agora é restorePreviousSignInWithCallback:
      • disconnect agora é disconnectWithCallback:
      • O protocolo GIDSignInDelegate foi removido em favor dos blocos GIDSignInCallback e GIDDisconnectCallback.
      • Todas as propriedades de configuração do fluxo de login foram movidas para GIDConfiguration.
    • A classe GIDConfiguration foi adicionada para representar a configuração necessária para fazer login de um usuário.
    • GIDAuthentication
      • getTokensWithHandler: agora é doWithFreshTokens:
      • O typedef GIDAuthenticationHandler foi renomeado como GIDAuthenticationAction.
      • refreshTokensWithHandler: foi removido. Use doWithFreshTokens:.
    • GIDSignInButton não faz mais chamadas para GIDSignIn internamente e precisa ser conectado a um IBAction ou similar para que você possa chamar signInWithConfiguration:presentingViewController:callback: e iniciar um fluxo de login.

5.0.2

  • Corrige o código de erro incorreto enviado para signIn:didSignInForUser:withError: quando o usuário cancela a caixa de diálogo de consentimento do iOS durante o fluxo de login.

5.0.1

  • Correção de um problema que impedia o início correto do fluxo de login no iOS 13.
  • A distribuição ZIP exige o Xcode 11 ou mais recente.

5.0.0

  • Mudanças no GIDSignIn
    • uiDelegate foi substituído por presentingViewController.
    • hasAuthInKeychain foi substituído por hasPreviousSignIn.
    • signInSilently foi substituído por restorePreviousSignIn.
    • O código de erro kGIDSignInErrorCodeNoSignInHandlersInstalled descontinuado foi removido.
  • Mudanças no GIDAuthentication
    • Remoção dos métodos descontinuados getAccessTokenWithHandler: e refreshAccessTokenWithHandler:.
  • Mudanças em GIDGoogleUser
    • A propriedade obsoleta accessibleScopes foi removida. Use grantedScopes.
  • Adiciona dependências no AppAuth e no GTMAppAuth.
  • Remove a dependência do GoogleToolboxForMac.
  • Não há mais suporte para o iOS 7.

4.4.0

  • Remove a dependência do OAuth 2 do GTM.

4.3.0

  • Compatível com o gerenciamento de dispositivos móveis empresariais do Google.

4.2.0

  • Adiciona grantedScopes a GIDGoogleUser, permitindo a confirmação de quais escopos foram concedidos após um login bem-sucedido.
  • Descontinua accessibleScopes em GIDGoogleUser. Use grantedScopes.
  • Localiza GIDSignInButton para hi (hindi) e fr-CA (francês do Canadá).
  • Adiciona dependência ao framework LocalAuthentication do sistema.

4.1.2

  • Adicione suporte a pod try para o CocoaPod GoogleSignIn.

4.1.1

  • Correção de um problema em que o signInWillDispatch:error: do GIDSignInUIDelegate não era chamado no iOS 11. Vale lembrar que não é esperado que signIn:presentViewController: nem signIn:dismissViewController: sejam chamados no iOS 11 porque o SFAuthenticationSession não é apresentado pelo controlador de visualização do app.

4.1.0

  • Usa SFAuthenticationSession no iOS 11.

4.0.2

  • Não depende mais do GoogleAppUtilities.

4.0.1

  • Muda para dependências de pod de código aberto.
  • A aparência do botão de login não depende mais dos escopos solicitados.

4.0.0

  • O pod GoogleSignIn agora tem a forma de um framework estático. Importe com #import <GoogleSignIn/GoogleSignIn.h> em Objective-C.
  • Adiciona suporte a módulos. Você também pode usar @import GoogleSignIn; em Objective-C, se o módulo estiver ativado, e import GoogleSignIn em Swift sem usar um bridge-header.
  • Para usuários da distribuição zip independente, agora vários frameworks são fornecidos e precisam ser adicionados a um projeto. Essa decomposição permite mais flexibilidade em caso de dependências duplicadas.
  • Remove o método descontinuado checkGoogleSignInAppInstalled de GIDSignIn.
  • Remove as propriedades allowsSignInWithBrowser e allowsSignInWithWebView de GIDSignIn.
  • Não é mais necessário adicionar o ID do pacote como um esquema de URL compatível com o app.

3.0.0

  • Fornece propriedades givenName e familyName em GIDProfileData.
  • Permite definir a propriedade loginHint em GIDSignIn para preencher previamente o ID ou o endereço de e-mail do usuário no fluxo de login.
  • Removemos a categoria UIViewController(SignIn) e a propriedade delegate de GIDSignInButton.
  • Exige que uiDelegate tenha sido definido corretamente em GIDSignIn e que o framework SafariServices tenha sido vinculado.
  • Remove a dependência do StoreKit.
  • Oferece suporte a bitcode.
  • Requer o Xcode 7.0 ou versões mais recentes devido a incompatibilidades de bitcode com o Xcode 6.

2.4.0

  • Atualiza o botão de login com o novo logotipo do Google.
  • Compatível com restrição de domínio para login.
  • Permite atualizar tokens de ID.

2.3.2

  • Não é mais necessário o Xcode 7.

2.3.1

  • Correção de uma falha no imageURLWithDimension: de GIDProfileData.

2.3.0

  • Requer o Xcode 7.0 ou versões mais recentes.
  • Usa SFSafariViewController para fazer login no iOS 9. uiDelegate precisa ser definido para que isso funcione.
  • Otimiza a busca do perfil do usuário.
  • Compatível com GTMFetcherAuthorizationProtocol em GIDAuthentication.

2.2.0

  • Compatível com o iOS 9 (Beta). Essa versão do SDK de login não inclui bitcode. Portanto, defina ENABLE_BITCODE como NO no seu projeto se você usar o Xcode 7.
  • Adiciona identificadores descritivos para as restrições de layout automático do GIDSignInButton.
  • signInSilently não exige mais a definição de uiDelegate.

2.1.0

  • Corrige problemas de layout automático com GIDSignInButton.
  • Adiciona a API para atualizar o token de acesso em GIDAuthentication.
  • Melhor descrição de exceção para clientID não atribuído em GIDSignIn.
  • Outras correções de bugs menores.

2.0.1

  • Correções de bugs

2.0.0

  • Compatível com o login via UIWebView em vez de alternar o app para um navegador, configurável com a nova propriedade allowsSignInWithWebView.
  • Agora, os apps que desativaram a troca de app para um navegador usando as propriedades allowsSignInWithBrowser e a visualização da Web no app usando allowsSignInWithWebView têm a opção de mostrar uma solicitação instruindo o usuário a baixar o app Google na App Store.
  • Correção de um problema de dimensionamento do botão de login quando o layout automático está ativado
  • signInSilently agora chama o delegado com erro quando hasAuthInKeychain é NO, conforme documentado
  • Outras correções de bugs secundárias

1.0.0

  • Novo SDK focado em login com API atualizada
  • Botão de login renderizado dinamicamente com branding contextual
  • Suporte a perfil básico
  • Adição da propriedade allowsSignInWithBrowser