iOS 中的 Google 登录集成2025年3月17日 | 阅读 7 分钟 登录移动应用程序有多种方式,例如,使用 Facebook 登录、使用 Twitter 登录、使用 Apple 登录等。同样,我们也可以将 Google 登录集成到 iOS 应用程序中。在本教程中,我们将介绍将 Google 登录集成到 iOS 应用程序的过程。我们还将创建一个演示 iOS 应用程序,用户可以在其中使用 Google 帐户登录。 考虑以下步骤将 Google 登录集成到 iOS 应用程序中。 1. 安装 Google Sign-in SDK 要集成 Google 登录,第一步是安装 Google 登录 SDK。在本文中,我们将使用 CocoaPods 安装 SDK。为此,请打开终端并导航到项目目录。使用以下命令生成 Podfile。 现在,打开 Podfile,将以下 Pod 添加到其中,然后保存。 现在,在终端中使用以下命令安装 Pod。 我们将使用上述命令安装 Pod。我们需要关闭 Xcode 的所有实例,然后打开包含已安装 Google Sign-In SDK 的 .xcworkspace 文件。 为确保 Google Sign-In SDK 已正确安装,请尝试在 AppDelegate.swift 文件中导入 GoogleSignIn。如果应用程序运行没有错误,我们就可以继续下一部分了。 2. 为 Google Sign-In 创建客户端 ID 要继续 Google 登录,我们需要为我们的演示应用程序在 Google API 控制台中创建一个项目。为此,请导航到 https://console.developers.google.com/projectselector2/apis/dashboard?pli=1&supportedpurview=project 并创建一个项目。如果我们已经创建了任何项目,则可以从项目列表中选择它。 ![]() 在屏幕上点击“创建项目”并提供项目详细信息,如下所示。 ![]() 创建项目后,打开 OAuth 同意屏幕,如下所示。 ![]() 在 OAuth 同意屏幕上选择“外部”作为用户类型后,我们需要在下一个屏幕上提供应用信息。 ![]() 此处,应用程序的名称将显示在提示 Google 登录时显示给用户的名称。完成提供应用信息、范围和测试用户后,我们将创建 OAuthClientID。 要创建 OAuthClientID,请在“选项”窗格中选择“凭据”并点击“创建凭据”。现在从选项列表中选择 OAuthClientID,如下所示。 ![]() 到达 OAuth 客户端 ID 创建页面后,将提示我们提供应用程序信息,例如应用程序类型、名称和捆绑 ID。在应用程序类型中选择 iOS,并提供应用程序名称和捆绑 ID 以继续。 提供信息后,我们将获得以下图片所示的客户端 OAuth 客户端 ID。 ![]() 我们将返回 Xcode 进行 SDK 配置。 3. Xcode 中的 Google Sign-In SDK 配置 现在,我们需要为 Google Sign-In 配置 Xcode。这需要在项目中添加自定义 URL Scheme。要添加 URL Scheme,我们需要导航到项目目标 -> Info 并从 Google API 控制台项目凭据中添加 iOS URL Schemes。 ![]() 一旦我们从 Google API 控制台在 Xcode 中添加了 iOS URL Schemes,我们现在就可以为 Google 登录配置我们的应用程序代码了。 打开 AppDelegate.swift 并在项目设置完成后,导入我们最初安装的 GoogleSignIn SDK。 现在,将以下代码添加到 didFinishLaunchingWithOptions(: ) 方法中。 在这里,我们必须将 OAuth_Client_ID 替换为实际的 OAuth 客户端 ID。如果用户已经使用相同的凭据登录到应用程序,我们还需要恢复之前的登录状态。 现在,我们需要将以下 AppDelegate 方法添加到 didFinishLaunchingWithOptions() 方法的正下方。 在所有实现完成后,AppDelegate.swift 代码将如下所示。 在配置完 AppDelegate.swift 后,我们需要在 View Controller 中实现 GIDSignInDelegate 协议方法。现在,让我们开始配置 View Controller 以实现 Google 登录。 首先,在 ViewController.swift 文件中导入 GoogleSignIn,并将 GIDSignIn 代理属性设置为 self。现在,ViewController.swift 包含以下代码。 由于我们将 GIDSignIn 代理设置为 self,因此我们需要遵循 GIDSignInDelegate 协议并实现代理方法。为此,请将以下代码添加到 ViewController.swift 文件中。 在 Main.storyboard 中,向 View Controller 添加一个 UIButton,并为其提供一些约束,使其出现在屏幕中央。请参考下图 View Controller 在 Main.storyboard 中的布局。 ![]() 在 ViewController.swift 中为该按钮添加一个动作出口,并在其中调用 GIDSignIn.sharedInstance()?.signIn() 方法。 在 sign(_signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) 代理方法中添加代码来处理 Google 登录错误。由于每次登录尝试成功时都会调用此方法,因此我们可以检索用户的电子邮件和姓名等信息。我们还可以导航用户或在登录尝试成功时向用户显示一些警报。 将 sign(_signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) 的代码替换为以下代码。 在上面的代码中,我们正在检查该方法是否因登录过程中的某个错误而被调用。如果是,那么我们在控制台中打印错误。否则,我们从 GIDGoogleUser 对象中获取用户信息并打印它。 在上面的代码中,我们调用了 showAlert() 方法,该方法需要在 ViewController 中定义。让我们定义 showAlert() 方法。 实现上述代码后,我们就完成了 iOS 应用中的 Google 登录。ViewController.swift 包含以下代码。 现在,在 Xcode 中构建并运行应用程序。我们应该看到初始 ViewController 的以下屏幕。 ![]() 点击“使用 Google 登录”按钮,我们将看到以下屏幕,提示用户进行授权。 ![]() 点击“继续”以继续登录尝试。它将提示用户选择 Google 帐户或添加新帐户(如果尚未添加)。一旦用户提供电子邮件地址和密码,我们将在应用程序中收到警报,如下所示。 ![]() 我们还将获得用户的姓名、姓氏、名字和电子邮件等信息打印在控制台中。我们还可以向服务器发送 API 请求,并传递用户信息以创建用户。 下一主题如何使用 iOS 应用捕获图像 |
我们请求您订阅我们的新闻通讯以获取最新更新。