适用于 iOS 和 macOS 的 Google Sign-In
通过使用用户已经使用并信任的注册系统(即他们的 Google 账户),快速且安全地将用户引入您的应用程序。
访问 我们的开发者网站 获取集成说明、文档、支持信息和服务条款。
入门
请尝试 Objective-C 或 Swift 示例应用程序。例如,为了演示 Objective-C 示例项目,您有三个选择
- 使用 CocoaPods 的
try
方法
pod try GoogleSignIn
注意,这将默认为您提供 Objective-C 示例应用程序。
- 使用 CocoaPod 的
install
方法
git clone https://github.com/google/GoogleSignIn-iOS
cd GoogleSignIn-iOS/Samples/ObjC/SignInSample/
pod install
open SignInSampleForPod.xcworkspace
git clone https://github.com/google/GoogleSignIn-iOS
open GoogleSignIn-iOS/Samples/ObjC/SignInSample/SignInSample.xcodeproj
如果您想查看 Swift 示例,请查看 Samples/Swift/DaysUntilBirthday。
macOS 上的 Google Sign-In
Google Sign-In 允许用户使用他们的 Google 账户和默认浏览器登录您的原生 macOS 应用。在为 macOS 构建时,`signInWithConfiguration:` 和 `addScopes:` 方法使用 `presentingWindow:` 参数代替 `presentingViewController:`。请注意,为了使您的 macOS 应用能够在 macOS 上通过密钥链存储凭证,您需要签名您的应用。
Mac Catalyst
Google Sign-In 也支持通过 Mac Catalyst 构建的 iOS 应用。如果您的 Mac Catalyst 应用需要在 macOS 上通过密钥链存储凭证,您需要签名您的应用。
使用 Google Sign-In 按钮
有几种方法可以在您的应用中添加“使用 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 来构建用户界面,您可以通过编程方式创建 GIDSignInButton
,或者使用 Xib/Storyboard。如果您正在编写编程 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)