Importante: a partir de 1o de maio de 2024, a Apple vai exigir Manifestos de privacidade e assinaturas para apps iOS que usam os SDKs mais usados, incluindo o GoogleSignIn-iOS. Faça upgrade para o GoogleSignIn-iOS v7.1.0 ou mais recente antes de 1o de maio de 2024. Siga nosso guia de upgrade.
O Google usa tecnologia de IA na tradução de conteúdos para seu idioma de preferência. As traduções com IA podem ter erros.
Notas da versão do SDK do Login do Google para iOS e macOS
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Não lançado
Correção de uma falha quando uma resposta de erro de servidor carrega um valor que não é uma string na chave error. O gerenciador de erros do EMM enviou -hasPrefix: para qualquer valor presente, gerando uma exceção de seletor não reconhecido em um número, matriz ou objeto.
Correção de um problema em que um nonce personalizado e o token claims solicitado eram descartados quando um login era continuado após a reinicialização do app Política do dispositivo.
Adição de suporte ao Gerenciador de Pacotes do Swift para o AppCheckCore 12.x, permitindo compatibilidade com o Firebase 13. As instalações do CocoaPods continuam restritas ao AppCheckCore 11.x. (#626)
Correção de uma preparação do App Check com falha que estava sendo registrada como bem-sucedida, o que fazia com que as chamadas posteriores para -[GIDSignIn configureWithCompletion:] informassem sucesso sem tentar novamente. (#626)
Com o AppCheckCore 11.x (incluindo todas as instalações do CocoaPods), um provedor personalizado do App Check que não retorna um token nem um erro agora é tratado como bem-sucedido, em vez de falhar com kGIDAppCheckUnexpectedError. (#626)
Correção de uma disputa de dados nos tokens de GIDGoogleUser. As atualizações simultâneas de tokens podem gravar os tokens de acesso, atualização e token de ID de diferentes linhas de execução ao mesmo tempo, e os leitores podem observar um conjunto parcialmente atualizado. Os três tokens agora são publicados juntos como um snapshot.
accessToken, refreshToken e idToken de GIDGoogleUser agora são derivados desse snapshot. Assim, os observadores de chave-valor de qualquer um deles são notificados sempre que um deles muda, não apenas quando o valor da propriedade muda.
Os observadores de chave-valor dessas propriedades são notificados enquanto GIDGoogleUser mantém o bloqueio interno. Chamar o mesmo usuário do observador é aceitável, mas um observador não pode esperar de forma síncrona (por exemplo, com dispatch_sync) em outra linha de execução que esteja atualizando o mesmo usuário.
Correção de caixas de diálogo de correção de EMM que eram suprimidas pelo restante da vida útil do app após um único erro enquanto nenhuma janela de chave estava disponível. A flag pending-dialog agora é apagada em todos os caminhos de saída, e a gravação de limpeza é sincronizada para corresponder à leitura.
Correção de uma solicitação de token que falhou com um erro de EMM, às vezes relatado com o erro OAuth subjacente em vez de kGIDSignInErrorCodeEMM quando nenhuma caixa de diálogo de correção pôde ser apresentada.
Correção de um erro de EMM que chegava enquanto uma caixa de diálogo de correção já estava sendo mostrada como kGIDSignInErrorCodeUnknown (ou como o erro OAuth subjacente, para uma solicitação de token) em vez de kGIDSignInErrorCodeEMM. Nenhuma segunda caixa de diálogo é mostrada.
10.0.0
IMPORTANTE: atualize para o AppAuth 3.0.0 e o GTMAppAuth 6.0.0, que aumentam as metas mínimas de implantação para o iOS 15.0 e o macOS 12.0, ampliam a dependência GTMSessionFetcher para permitir 4.x e 5.x e renomeiam o manifesto do Gerenciador de pacotes do Swift 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).
Adicionamos GIDSignIn.wrapperIdentifier para que os SDKs que incorporam o Login do Google possam se identificar nos registros de diagnóstico do Google usando um novo parâmetro gidwrapper. É uma opção de ativação, e o comportamento preexistente não é alterado. (#625)
Atualização do ícone do botão de login para o G do Google em gradiente (#633)
Fixe os nomes em Swift dos métodos de fábrica GIDClaim com anotações NS_SWIFT_NAME explícitas. Os nomes em Swift importados não são alterados (link em inglês).
Usar NSURLComponents para codificar tokens corretamente (#618)
Correção de uma falha em additionalTokenRefreshParameters quando emmSupport é nil (#608).
Interno
Consolidação dos parâmetros de registro do SDK para se preparar para os novos (#616)
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ção da referência do nome do botão para que os testes de automação da interface sejam aprovados (#308)
7.1.0-fac-beta-1.0.0
Versão Beta compatível com tokens do Firebase App Check usados
para estabelecer a integridade do aplicativo ao fazer login com o Google
Interno
Atualização da versão mínima do iOS do Podfile do SignInSample (#355)
Atualização do destino do teste de unidade AppCheckExample para aprovação durante a integração contínua (#356)
7.1.0-fac-eap-1.0.0
Versão do Programa de acesso antecipado (EAP, na sigla em inglês) que oferece suporte aos tokens do Firebase App Check usados
para estabelecer a integridade do aplicativo ao fazer login com o Google
Use -[GIDSignIn configureWithCompletion:]
para configurar o GSI para usar o Firebase App Check o mais cedo possível no seu app
para minimizar a latência.
Novo app de exemplo em Swift que demonstra o SwiftUI.
(#63).
Suporte para Mac Catalyst.
Melhorias na implementação de addScopes.
(#68,
#70).
6.0.2
Verifique se as importações de módulo podem ser usadas quando criadas como uma biblioteca.
(#53).
6.0.1
Correção de callbacks aninhados que não eram 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 para o Simulator 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 semelhante para que você possa chamar
signInWithConfiguration:presentingViewController:callback: para iniciar um fluxo de login.
5.0.2
Correção do 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 em que o fluxo de login não podia ser iniciado corretamente no iOS 13.
A distribuição ZIP requer 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 do erro kGIDSignInErrorCodeNoSignInHandlersInstalled descontinuado foi removido.
Mudanças em GIDAuthentication
Remoção dos métodos descontinuados getAccessTokenWithHandler: e refreshAccessTokenWithHandler:.
Mudanças em GIDGoogleUser
A propriedade descontinuada accessibleScopes foi removida. Use grantedScopes.
Adiciona dependências em AppAuth e GTMAppAuth.
Removeu a dependência do GoogleToolboxForMac.
Não é mais possível usar o iOS 7.
4.4.0
Remove a dependência do GTM OAuth 2.
4.3.0
Compatível com o gerenciamento de mobilidade empresarial 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 (Canadá)).
Adiciona dependência ao framework LocalAuthentication do sistema.
4.1.2
Adição de suporte a pod try para o CocoaPod do GoogleSignIn.
4.1.1
Correção de um problema em que o signInWillDispatch:error: do GIDSignInUIDelegate não era chamado no iOS 11. Nem signIn:presentViewController: nem signIn:dismissViewController: são chamados no iOS 11 porque 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
Alterna 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 do GoogleSignIn agora tem a forma de um framework estático. Importe com
#import <GoogleSignIn/GoogleSignIn.h> em Objective-C.
Adiciona suporte a módulos. Também é possível usar @import GoogleSignIn; no Objective-C,
se o módulo estiver ativado, e import GoogleSignIn no Swift sem usar um
cabeçalho de ponte.
Para usuários da distribuição ZIP independente, agora são fornecidos vários frameworks, e todos 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 as 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.
Requer 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 mais recente devido a incompatibilidades de bitcode com o Xcode 6.
2.4.0
Atualiza o botão de login com o novo logotipo do Google.
Oferece suporte à restrição de domínio para login.
Permite atualizar tokens de ID.
2.3.2
Não requer mais o Xcode 7.
2.3.1
Correção de uma falha em imageURLWithDimension: de GIDProfileData.
2.3.0
Requer o Xcode 7.0 ou mais recente.
Usa o SFSafariViewController para fazer login no iOS 9. uiDelegate precisa ser
definido para que isso funcione.
Otimiza a busca do perfil de usuário.
Suporte para GTMFetcherAuthorizationProtocol em GIDAuthentication.
2.2.0
Compatível com 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ê usa o Xcode 7.
Adiciona identificadores descritivos para as restrições de layout automático do GIDSignInButton.
signInSilently não exige mais a configuração de uiDelegate.
2.1.0
Correção de problemas de layout automático com o 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
Suporte ao 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
fazer o download do app do Google na App Store.
Correção do 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 menores
1.0.0
Novo SDK focado em login com API atualizada
Botão de login renderizado dinamicamente com branding contextual
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-10-16 UTC."],[],[]]