重要提示:自
2024 年 5 月 1 日起,对于使用常用 SDK(包括 GoogleSignIn-iOS)的 iOS 应用,Apple
要求提供隐私权清单和签名。请在 2024 年 5 月 1 日之前升级到 GoogleSignIn-iOS v7.1.0 及更高版本。按照
我们的升级指南操作。
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。"],[],[]]