9.0.0
- 允许通过 GSI 向 AppAuth 提供自定义
nonce
(#402, #476) - 修复了
GIDSignIn
中的无效错误代码 (#472) - 在 macOS 上添加了对 GTMAppAuth 5 的支持 (#522)
- 修复了“受保护的数据”迁移 bug (#533)
- 内部
- 将 AppAuthCore 添加为显式依赖项 (#470)
- 将 iPhone 模拟器从 14 更新为 15 (#494)
- 修复了 Swift 按钮集成测试 (#497)
- 将 runner 更新为 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)
- 内部
7.1.0-fac-beta-1.1.0
- 支持 Firebase App Check 令牌的 Beta 版,用于在通过 Google 登录时建立应用的完整性
- 添加了 v7.1.0 中发布的隐私权清单支持
- 内部
- 检查了提交前指令的集成测试 (#368)
- 测试跳过集成密钥 (#374)
- 向 App Check 发布分支添加了隐私权清单 (#392)
- 在 GIDFakeFetcherService 标头中为 init 添加了返回类型
7.1.0
7.1.0-fac-beta-1.0.0
- 支持 Firebase App Check 令牌的 Beta 版,用于在通过 Google 登录时建立应用的完整性
- 内部
7.1.0-fac-eap-1.0.0
- 支持 Firebase App Check 令牌的抢先体验计划 (EAP) 版本,用于在通过 Google 登录时建立应用的完整性
- 使用
-[GIDSignIn configureWithCompletion:]
可在应用中尽早配置 GSI 以使用 Firebase App Check,从而最大限度地缩短延迟时间。 - 在调试 build 或持续集成环境中使用
-[GIDSignIn configureDebugProviderWithAPIKey:completion:]
。 - 新的示例应用,展示了如何配置 GSI 以使用 Firebase App Check。
- 使用
- 内部
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
类,用于表示成功完成 signIn 或 addScopes 流程的结果。 - 移除了
GIDSignInCallback
、GIDDisconnectCallback
和GIDAuthenticationAction
块类型定义。
6.2.4
- 更新了 GTMSessionFetcher 依赖项,以允许使用 2.x 版本。(#207)
6.2.3
- 修复了在 GoogleSignInSwift 中使用 CocoaPods use_frameworks! 时出现的资源加载问题(#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
6.1.0
6.0.2
- 确保在构建为库时可以使用模块导入。 (#53)
6.0.1
- 修复了 signIn 和 addScopes 方法的嵌套回调未被调用的问题。(#29)
6.0.0
- iOS 版 Google 登录现已开源。
- Swift Package Manager 支持。
- 支持在 M1 Mac 上使用模拟器。
- API Surface 更新
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
- 移除了对 GTM OAuth 2 的依赖。
4.3.0
- 支持 Google 的企业移动管理。
4.2.0
- 将
grantedScopes
添加到GIDGoogleUser
,以便在成功登录后确认已授予哪些范围。 - 弃用了
GIDGoogleUser
中的accessibleScopes
,请改用grantedScopes
。 - 针对 hi(印地语)和 fr-CA(法语 [加拿大])本地化了
GIDSignInButton
。 - 向系统
LocalAuthentication
框架添加依赖项。
4.1.2
- 为 GoogleSignIn CocoaPod 添加了
pod try
支持。
4.1.1
- 修复了
GIDSignInUIDelegate
的signInWillDispatch:error:
未在 iOS 11 上调用的问题。请注意,在 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 或电子邮件地址。 - 从
GIDSignInButton
中移除了UIViewController(SignIn)
类别以及delegate
属性。 - 要求已在
GIDSignIn
上正确设置uiDelegate
,并且已链接 SafariServices 框架。 - 移除了对 StoreKit 的依赖项。
- 提供位码支持。
- 由于位码与 Xcode 6 不兼容,因此需要 Xcode 7.0 或更高版本。
2.4.0
- 使用新的 Google 徽标更新了登录按钮。
- 支持登录网域限制。
- 允许刷新 ID 令牌。
2.3.2
- 不再需要 Xcode 7。
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 的自动布局问题。
- 在 GIDAuthentication 中添加了用于刷新访问令牌的 API。
- 针对 GIDSignIn 中未分配的 clientID 提供了更好的异常说明。
- 修复了一些其他小 bug。
2.0.1
- 问题修复
2.0.0
- 支持通过 UIWebView 进行登录,而不是切换到浏览器,可通过新的
allowsSignInWithWebView
属性进行配置。 - 现在,已通过
allowsSignInWithBrowser
和应用内 WebViewallowsSignInWithWebView
属性停用应用切换到浏览器的应用可以选择显示提示,指示用户从 App Store 下载 Google 应用。 - 修复了启用自动布局时登录按钮大小方面的问题
- 现在,当
hasAuthInKeychain
为NO
时,signInSilently
会按照文档中的说明使用错误调用委托 - 修复了一些其他小 bug
1.0.0
- 采用全新 API 的新登录专用 SDK
- 动态呈现的登录按钮,带有情境品牌宣传
- 基本配置文件支持
- 添加了 allowsSignInWithBrowser 属性