Google 登录 iOS 和 macOS SDK 版本说明

8.0.0

  • 正式版,添加了 Firebase App Check 支持,以便在用户使用 Google 账号登录时确保应用的完整性
  • 将最低 iOS 支持版本更新为 iOS 12 (#445)
  • 内部
    • 将 AppCheckCore 依赖项更新为 v11.0 (#454)
    • 向测试辅助程序添加了 instancetype 返回 (#393)
    • 移除了 GTMSessionFetcher 模块化导入 (#403)
    • 将 bundler 组中的 activesupport 从 5.2.5 提升到 5.2.8.1 (#429)
    • 移除了已废弃的 macos-11 运行程序 (#447)
    • 更新了测试中已废弃的归档 API 用法 (#449)

7.1.0-fac-beta-1.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)
    • 更新了按钮名称引用,以便界面自动化测试通过 (#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

  • 支持 Firebase App Check 令牌的抢先体验计划 (EAP) 版本,用于在用户使用 Google 账号登录时确立应用的完整性
  • 内部
    • 修复了 SFSafariViewController 中的拼写错误 (#291)
    • 移除了 GitHub 工作流中的 macos-11 运行程序 (#302)
    • 更新了按钮名称引用,以便界面自动化测试通过 (#308)
    • 确保在调用 -[GIDSignIn restorePreviousSignIn:] 之前 completion 不为 null (#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 Surface(#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 流程的结果。
    • 移除了 GIDSignInCallbackGIDDisconnectCallbackGIDAuthenticationAction 块类型定义。

6.2.4

  • 更新了 GTMSessionFetcher 依赖项,以允许 2.x 版本。(#207)

6.2.3

  • 使用 CocoaPods use_frameworks 修复了 GoogleSignInSwift 中的资源加载问题!(#197)
  • 使用 Swift Package Manager 时,在某些情况下可防止 GoogleSignInSwift 出现构建错误。(#166)

6.2.2

  • 使用 Swift Package Manager 时,可防止 GoogleSignInSwift 出现构建错误。(#157)
  • 防止 Xcode 12 及更低版本中出现构建错误。(#158)

6.2.1

  • 使用 GoogleSignInSwiftSupport 作为 Swift 支持 CocoaPod 的名称。(#137)

6.2.0

  • 支持 macOS。(#104)
  • 添加了 SwiftUI“使用 Google 账号登录”按钮。(#103)
  • 新增了在登录时请求额外作用域的功能。(#30
  • 修复了多个问题。(#87#106

6.1.0

  • 演示 SwiftUI 的新 Swift 示例应用。 (#63
  • 支持 Mac Catalyst。
  • 改进了 addScopes 实现。 (#68#70)

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 协议已被移除,取而代之的是 GIDSignInCallbackGIDDisconnectCallback 块。
      • 所有登录流程配置属性已移至 GIDConfiguration
    • 添加了 GIDConfiguration 类,以表示登录用户所需的配置。
    • GIDAuthentication
      • getTokensWithHandler: 现为 doWithFreshTokens:
      • GIDAuthenticationHandler 类型定义符已重命名为 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

  • 修复了在 iOS 11 上未调用 GIDSignInUIDelegatesignInWillDispatch: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 中移除了 allowsSignInWithBrowserallowsSignInWithWebView 属性。
  • 不再需要将软件包 ID 添加为应用支持的网址架构。

3.0.0

  • GIDProfileData 提供 givenNamefamilyName 属性。
  • 允许在 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

  • 修复了 GIDProfileDataimageURLWithDimension: 中的崩溃问题。

2.3.0

  • 需要 Xcode 7.0 或更高版本。
  • 使用 SFSafariViewController 在 iOS 9 上登录。必须设置 uiDelegate,此操作才能正常运行。
  • 优化了获取用户个人资料的操作。
  • 支持在 GIDAuthentication 中使用 GTMFetcherAuthorizationProtocol。

2.2.0

  • 兼容 iOS 9(Beta 版)。请注意,此 Sign-In 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 禁止应用切换至浏览器以及已经通过 allowsSignInWithWebView 属性禁止应用切换至应用内网络视图的应用可以选择显示一条提示,指导用户从应用商店下载 Google 应用。
  • 修复了启用自动布局时出现的登录按钮大小问题
  • hasAuthInKeychainNO 时,signInSilently 现在会调用包含错误的委托(如记录中所述)
  • 修复了一些其他小 bug

1.0.0

  • 新的登录专注型 SDK 和刷新后的 API
  • 动态呈现的登录按钮,带有内容相关品牌元素
  • 基本个人资料支持
  • 添加了 allowsSignInWithBrowser 属性