Version Platform License unit_tests integration_tests

适用于 iOS 和 macOS 的 Google 登录

使用用户已经使用并信任的注册系统(他们的 Google 帐户),快速安全地让用户进入您的应用。

访问 我们的开发者网站,获取集成说明、文档、支持信息和服务条款。

入门指南

尝试 Objective-CSwift 示例应用。 例如,要演示 Objective-C 示例项目,您有两种选择

  1. 使用 CocoaPod 的 install 方法
git clone https://github.com/google/GoogleSignIn-iOS
cd GoogleSignIn-iOS/Samples/ObjC/SignInSample/
pod install
open SignInSampleForPod.xcworkspace
  1. 使用 Swift Package Manager
git clone https://github.com/google/GoogleSignIn-iOS
open GoogleSignIn-iOS/Samples/ObjC/SignInSample/SignInSample.xcodeproj

如果您想查看 Swift 示例,请查看 Samples/Swift/DaysUntilBirthday

macOS 上的 Google 登录

Google 登录允许您的用户使用他们的 Google 帐户和默认浏览器登录您的原生 macOS 应用。 在为 macOS 构建时,signInWithConfiguration:addScopes: 方法使用 presentingWindow: 参数代替 presentingViewController:。 请注意,为了让您的 macOS 应用通过 macOS 上的 Keychain 存储凭据,您需要 签署您的应用

Mac Catalyst

Google 登录还支持通过 Mac Catalyst 为 macOS 构建的 iOS 应用。 为了让您的 Mac Catalyst 应用通过 macOS 上的 Keychain 存储凭据,您需要 签署您的应用

使用 Google 登录按钮

有几种方法可以将“使用 Google 登录”按钮添加到您的应用中,您选择的路径将取决于您的 UI 框架和目标平台。

SwiftUI(iOS 和 macOS)

在 SwiftUI 中创建一个“使用 Google 登录”按钮可以像这样简单

GoogleSignInButton {
  GIDSignIn.sharedInstance.signIn(withPresenting: yourViewController) { signInResult, error in
      // check `error`; do something with `signInResult`
  }
}

此示例利用了初始化器的视图模型的默认参数。视图模型的默认参数将使用浅色方案、标准按钮样式和正常按钮状态。 您可以提供一个 GoogleSignInButtonViewModel 实例,其中这些属性具有不同的值,以自定义按钮。 此便捷初始化器提供了您可以用来根据需要设置这些值的参数。

UIKit (iOS)

如果您没有使用 SwiftUI 来构建您的用户界面,您可以以编程方式或在 Xib/Storyboard 中创建 GIDSignInButton。 如果您正在编写程序化 UI 代码,它将看起来像这样

let button = GIDSignInButton(frame: CGRect(<YOUR_RECT>))

AppKit (macOS)

鉴于 GIDSignInButton 被实现为 UIControl 的子类,因此它在 macOS 上不可用。 您可以改为使用 SwiftUI Google 登录按钮。 这样做需要您将 SwiftUI 按钮包装在托管视图中,以便它可以在 AppKit 中使用。

let signInButton = GoogleSignInButton {
  GIDSignIn.sharedInstance.signIn(withPresenting: yourViewController) { signInResult, error in
      // check `error`; do something with `signInResult`
  }
}
let hostedButton = NSHostingView(rootView: signInButton)