在开始将您的 iOS 或 macOS 应用与 Google 登录组件集成之前, 您必须下载依赖项并配置 Xcode 项目。使用 此页面就可以做到这一点。后续步骤随后介绍了如何集成 在您的应用中集成 Google 登录功能。
准备工作
安装最新版本的 Xcode。
在项目中安装 Google 登录依赖项
CocoaPods
如果您尚未安装 CocoaPods,请按照 CocoaPods 使用入门 指南。
打开一个终端窗口,然后导航到应用的 Xcode 所在的位置 项目。
如果您还没有为应用创建 Podfile,请创建一个 现在:
pod init
打开为您的应用创建的 Podfile,并添加以下内容:
pod 'GoogleSignIn'
如果您使用的是 SwiftUI,则还需要为“Sign in”(登录) with Google”按钮:
pod 'GoogleSignInSwiftSupport'
保存文件并运行:
pod install
在以下位置打开为您的应用生成的
.xcworkspace
工作区文件: Xcode。以后对您的应用进行任何开发时均可使用此文件。(注意 这与包含的.xcodeproj
项目文件不同,后者是 在打开时会导致构建错误。)您可以参考 Objective-C 示例应用的 Podfile 示例。
Swift Package Manager
在 Xcode 中打开您的项目。
将 Google 登录依赖项添加到您的应用 (Xcode 文档):
代码库 https://github.com/google/GoogleSignIn-iOS
版本 7.0.0 打包产品 GoogleSignIn 如果您使用的是 SwiftUI,则还要添加以下扩展程序软件包产品 针对“使用 Google 账号登录”选项按钮:
打包产品 GoogleSignInSwift
获取 OAuth 客户端 ID
您的应用需要使用 OAuth 客户端 ID 来识别自身的身份,以便 Google 的身份验证 后端。对于 iOS 和 macOS 应用,请使用 OAuth 客户端 ID 应用类型 必须配置为 iOS。
如果您尚未创建 OAuth 客户端 ID,请点击按钮 具体操作步骤。
创建 OAuth 客户端 ID 后,请记下客户端 ID 字符串, 您需要在应用中配置 Google 登录。您可以选择性地 下载配置文件,其中包含您的客户端 ID 和其他 供将来参考。
如果您已创建 OAuth 客户端 ID,可以找到现有的 OAuth 了解相关信息。
<ph type="x-smartling-placeholder"></ph> 获取现有的 OAuth 客户端 ID
获取 OAuth 服务器客户端 ID
大多数应用都需要将已登录用户的身份传递到后端服务 某种形式为了安全地传递已登录 Google 的用户的身份 您可以使用 ID 令牌,如使用后端服务器进行身份验证中所述。 检索用户的 ID 令牌需要第二个客户端 ID,即您的服务器 客户端 ID - 代表您的后端。
如需创建服务器客户端 ID,请执行以下操作:
在 Cloud 控制台。
创建一个新的 Web 应用类型 OAuth 客户端 ID。请注意 客户端 ID 字符串,您需要在自己的 应用。
配置您的应用项目
Google 登录要求使用 OAuth 客户端 ID 配置项目 和自定义网址架构。或者,您也可以为 后端身份验证或针对您的 Google 优化您的应用 Workspace 网域。
添加您的 OAuth 客户端 ID 和自定义网址架构
更新您应用的 Info.plist
文件以添加您的 OAuth
客户端 ID 和基于倒序客户端 ID 的自定义网址架构。
倒序的客户端 ID 即为您的客户端 ID,以英文句点分隔的顺序排列
字段反转。也会显示在“iOS 网址 scheme”下方选择
Google Cloud 现有的 iOS OAuth 客户端
控制台。例如:com.googleusercontent.apps.1234567890-abcdefg
。
<key>GIDClientID</key> <string>YOUR_IOS_CLIENT_ID</string> <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string> </array> </dict> </array>
可选:配置后端身份验证
如果您需要让用户用于后端身份验证的 ID 令牌。
还在应用的 Info.plist
文件中设置 GIDServerClientID
键。
<key>GIDServerClientID</key> <string>YOUR_SERVER_CLIENT_ID</string>
可选:针对 Google Workspace 网域或 OpenID 领域进行优化
如果您想针对以下项目优化登录流程,请使用 GIDHostedDomain
参数:
Google Workspace 网域。
<key>GIDHostedDomain</key> <string>YOUR_HOSTED_DOMAIN</string>
如果要指定 OpenID 领域,请使用 GIDOpenIDRealm
参数。
<key>GIDOpenIDRealm</key> <string>YOUR_OPENID_REALM</string>
为应用签名
您的应用必须使用 Apple 颁发的证书进行签名才能运行 macOS 和 iOS 设备上原生应用,以便通过 钥匙串。
后续步骤
现在,您已经下载了项目依赖项并配置了 Xcode 项目中,您可以将 Google 登录添加到您的 iOS 应用中。