Important : Starting
May 1, 2024 , Apple
requires Privacy Manifests and signatures for iOS applications that use commonly-used SDKs, including GoogleSignIn-iOS. Upgrade to GoogleSignIn-iOS v7.1.0+ before May 1, 2024. Follow
our upgrade guide .
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
发送反馈
Google 登录 iOS 和 macOS SDK 版本说明
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
9.2.0
公开刷新令牌失效日期 (#577 )
支持请求 amr(身份验证方法引用)声明 (#600 )
在全新安装时移除密钥链条目 (#567 )
将 AppAuth-iOS 依赖项最低版本更新为 2.1.0 (#603 )
修复了本地化字符串的可选软件包处理问题 (#373 )
在伞形标头中无条件包含所有公共标头 (#595 )
将 GIDSignInButton 导入移到条件编译之外 (#591 )
内部
修复了 Swift Package Manager 弃用警告 (#579 )
改进了 GIDSignInButtonStyle 的文档注释 (#204 )
解决了 AppIcon 资产目录中的未分配子项警告 (#348 )
重构了 GitHub Actions 工作流 (#580 )
将 GitHub Actions 升级到最新版本,以实现 Node 24 兼容性 (#592 、#593 )
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
允许通过 GSI 向 AppAuth 提供自定义 nonce (#402 , #476 )
修复了 GIDSignIn 中的无效错误代码 (#472 )
添加了对 macOS 上 GTMAppAuth 5 的支持 (#522 )
修复了数据保护迁移 bug (#533 )
内部
将 AppAuthCore 添加为显式依赖项 (#470 )
将 iPhone 模拟器从 14 更新为 15 (#494 )
修复了 Swift 按钮集成测试 (#497 )
将运行程序更新为 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 依赖项更新为 v11.0 (#454 )
向测试帮助程序添加了 instancetype 返回 (#393 )
移除了 GTMSessionFetcher 模块化导入 (#403 )
在捆绑器组中将 activesupport 从 5.2.5 提升到 5.2.8.1 (#429 )
移除了已弃用的 macos-11 运行程序 (#447 )
更新了测试中已弃用的归档 API 用法 (#449 )
7.1.0-fac-beta-1.1.0
Beta 版,支持使用 Firebase App Check 令牌在通过 Google 登录时确定应用的完整性
添加了 v7.1.0 中发布的隐私清单支持
内部
7.1.0
在 GoogleSignInSwiftSupport pod 中更新为 Swift 5.0 (#317 )
文档更新 (#351 , #372 )
添加了隐私清单 (#382 )
内部
修复了 SFSafariViewController 中的拼写错误 (#291 )
修复了单元测试中的 OCMock 用法 (#298 )
使用了 GTMAppAuth 4.0.0 中的新委托协议 (#299 )
确保在调用 -[GIDSignIn restorePreviousSignIn:] 之前 completion 不为 nil (#301 )
移除了 GitHub 工作流中的 macos-11 运行程序 (#302 )
更新了按钮名称引用,以便 UI 自动化测试通过 (#308 )
7.1.0-fac-beta-1.0.0
Beta 版,支持使用 Firebase App Check 令牌在通过 Google 登录时确定应用的完整性
内部
更新了 SignInSample Podfile 最低 iOS 版本 (#355 )
更新了 AppCheckExample 单元测试目标,以便在持续集成期间通过 (#356 )
7.1.0-fac-eap-1.0.0
抢先体验计划 (EAP) 版本,支持使用 Firebase App Check 令牌在通过 Google 登录时确定应用的完整性
内部
修复了 SFSafariViewController 中的拼写错误 (#291 )
移除了 GitHub 工作流中的 macos-11 运行程序 (#302 )
更新了按钮名称引用,以便 UI 自动化测试通过 (#308 )
确保在调用
-[GIDSignIn restorePreviousSignIn:]之前completion不为 nil (#301 )
使用了 GTMAppAuth 4.0.0 中的新委托协议 (#299 )
7.0.0
现在可以通过 Info.plist 文件提供所有配置。(#228 )
在 <key>KEY</key><string>VALUE</string> 对中使用以下键来配置 SDK:
GIDClientID(必需)
GIDServerClientID(可选)
GIDHostedDomain(可选)
GIDOpenIDRealm(可选)
支持 Swift 并发 。(#187 )
API 表面改进 (#249 , #228 , #187 )
GIDSignIn
新增了 configuration 属性。
从 signIn: 方法中移除了 Configuration: 实参。
移除了 addScopes: 并将其添加到了 GIDGoogleUser 中。
对于采用块的异步方法,将 callback: 实参重命名为 completion:。
GIDGoogleUser
新增了 configuration 属性。
从 GIDSignIn 中移出了新的 addScopes: 方法。
移除了 authentication 属性,并将其替换为:
新增了 accessToken 属性。
新增了 refreshToken 属性。
新增了 idToken 属性。
新增了 fetcherAuthorizer 属性。
新增了 refreshTokensIfNeededWithCompletion: 方法。
新增了 GIDToken 类,用于表示 GIDGoogleUser 中的访问令牌、刷新令牌和 ID 令牌。
新增了 GIDSignInResult 类,用于表示成功登录或 addScopes 流的结果。
移除了 GIDSignInCallback、GIDDisconnectCallback 和 GIDAuthenticationAction 块类型定义。
6.2.4
更新了 GTMSessionFetcher 依赖项,以允许使用 2.x 版本。(#207 )
6.2.3
修复了在使用 CocoaPods use_frameworks! 时 GoogleSignInSwift 中的资源加载问题(#197 )
防止在使用 Swift Package Manager 时在某些情况下出现 GoogleSignInSwift 的 build 错误。(#166 )
6.2.2
防止在使用 Swift Package Manager 时出现 GoogleSignInSwift 的 build 错误。(#157 )
防止在 Xcode 12 及更低版本上出现 build 错误。(#158 )
6.2.1
使用 GoogleSignInSwiftSupport 作为 Swift 支持 CocoaPod 的名称。(#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
6.0.1
修复了 signIn 和 addScopes 方法未调用嵌套回调的问题。
(#29 )
6.0.0
iOS 版 Google 登录现已开源。
支持 Swift Package Manager。
支持 M1 Mac 上的模拟器。
API 表面更新
GIDSignIn
sharedInstance 现在是一个类属性。
signIn 现在是 signInWithConfiguration:presentingViewController:callback:,并且始终
请求基本个人资料范围。
addScopes:presentingViewController:callback: 是一种新方法,用于向当前已登录的用户添加基本个人资料之外的范围。
restorePreviousSignIn 现在是 restorePreviousSignInWithCallback:。
disconnect 现在是 disconnectWithCallback:。
移除了 GIDSignInDelegate 协议,转而使用 GIDSignInCallback 和 GIDDisconnectCallback 块。
所有登录流程配置属性都已移至 GIDConfiguration。
添加了 GIDConfiguration 类,用于表示登录用户所需的配置。
GIDAuthentication
getTokensWithHandler: 现在是 doWithFreshTokens:。
GIDAuthenticationHandler typedef 已重命名为 GIDAuthenticationAction。
移除了 refreshTokensWithHandler:,请改用 doWithFreshTokens:。
GIDSignInButton 不再在内部调用 GIDSignIn,并且需要连接到
一个 IBAction 或类似项,以便您调用
signInWithConfiguration:presentingViewController:callback: 来启动登录流程。
5.0.2
修复了在登录流程期间用户取消 iOS 的意见征求对话框时发送给 signIn:didSignInForUser:withError: 的错误代码错误的问题。
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
4.3.0
4.2.0
向 GIDGoogleUser 添加了 grantedScopes,以便在成功登录后确认已授予哪些范围。
弃用了 GIDGoogleUser 中的 accessibleScopes,请改用 grantedScopes。
将 GIDSignInButton 本地化为 hi(印地语)和 fr-CA(法语(加拿大))。
添加了对系统 LocalAuthentication 框架的依赖项。
4.1.2
为 GoogleSignIn CocoaPod 添加了 pod try 支持。
4.1.1
修复了在 iOS 11 上未调用 GIDSignInUIDelegate 的 signInWillDispatch:error: 的问题。请注意,在 iOS 11 上不调用 signIn:presentViewController: 和 signIn:dismissViewController: 是有意为之,因为 SFAuthenticationSession 不是由应用视图控制器呈现的。
4.1.0
在 iOS 11 上使用 SFAuthenticationSession。
4.0.2
不再依赖于 GoogleAppUtilities。
4.0.1
切换到开源 pod 依赖项。
登录按钮的外观不再取决于请求的范围。
4.0.0
GoogleSignIn pod 现在采用静态框架的形式。在 Objective-C 中使用
#import <GoogleSignIn/GoogleSignIn.h> 导入。
添加了模块支持。如果启用了模块,您还可以在 Objective-C 中使用 @import GoogleSignIn;,并在 Swift 中使用 import GoogleSignIn,而无需使用
桥接标头。
对于独立 zip 分发的用户,现在提供了多个框架,并且都需要添加到项目中。这种分解方式在出现重复依赖项时可以提供更大的灵活性。
从 GIDSignIn 中移除了已弃用的方法 checkGoogleSignInAppInstalled。
从 GIDSignIn 中移除了 allowsSignInWithBrowser 和 allowsSignInWithWebView 属性。
不再需要将软件包 ID 添加为应用支持的网址协议。
3.0.0
在 GIDProfileData 上提供了 givenName 和 familyName 属性。
允许在 GIDSignIn 上设置 loginHint 属性,以便在登录流程中预先填充用户的 ID 或电子邮件地址。
移除了 UIViewController(SignIn) 类别以及 GIDSignInButton 中的 delegate 属性。
要求在 GIDSignIn 上正确设置 uiDelegate,并且已链接 SafariServices 框架。
移除了对 StoreKit 的依赖项。
提供了位码支持。
由于位码与 Xcode 6 不兼容,因此需要 Xcode 7.0 或更高版本。
2.4.0
使用新的 Google 徽标更新了登录按钮。
支持登录的网域限制。
允许刷新 ID 令牌。
2.3.2
2.3.1
修复了 GIDProfileData 的 imageURLWithDimension: 中的崩溃问题。
2.3.0
需要 Xcode 7.0 或更高版本。
使用 SFSafariViewController 在 iOS 9 上登录。 必须设置 uiDelegate 才能正常运行。
优化了用户个人资料的提取。
支持 GIDAuthentication 中的 GTMFetcherAuthorizationProtocol。
2.2.0
与 iOS 9(Beta 版)兼容。 请注意,此版本的登录 SDK 不包含位码,因此如果您使用 Xcode 7,则必须在项目中将 ENABLE_BITCODE 设置为 NO。
为 GIDSignInButton 的自动布局限制添加了描述性标识符。
signInSilently 不再需要设置 uiDelegate。
2.1.0
修复了 GIDSignInButton 的自动布局问题。
添加了 API 以刷新 GIDAuthentication 中的访问令牌。
改进了 GIDSignIn 中未分配 clientID 的异常说明。
修复了一些其他小 bug。
2.0.1
2.0.0
支持通过 UIWebView 登录,而不是切换到浏览器,可以使用新的 allowsSignInWithWebView 属性进行配置。
现在,通过 allowsSignInWithBrowser 属性停用了切换到浏览器的应用以及通过 allowsSignInWithWebView 属性停用了应用内 WebView 的应用可以选择显示提示,指示用户从 App Store 下载 Google 应用。
修复了启用自动布局时登录按钮大小调整问题
现在,当 hasAuthInKeychain 为 NO 时,signInSilently 会调用委托并显示错误,如文档中所述
修复了一些其他小 bug
1.0.0
新的登录 SDK,重点关注登录,并刷新了 API
动态呈现的登录按钮,带有情境品牌元素
基本个人资料支持
添加了 allowsSignInWithBrowser 属性
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-06-18。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-06-18。"],[],[]]