iOS 中的 Facebook 登录集成

17 Mar 2025 | 6 分钟阅读

Facebook 登录已成为近期移动应用程序中最常用的功能之一。在应用程序中提供 Facebook 登录选项比让用户为应用程序设置密码和用户名更容易。在本教程中,我们将讨论将 Facebook 登录集成到我们的 iOS 应用程序中的分步过程。

下面给出了在我们的 iOS 应用程序中集成 Facebook 登录的步骤。

1. 设置 Facebook 应用程序

第一步是使用 Facebook 注册我们的应用程序。为此,我们需要导航到 https://developers.facebook.com/apps/ 并点击“添加新应用程序”按钮。

Facebook Login Integration in iOS

在这里,我们需要提供应用程序信息,例如应用程序显示名称、电子邮件和商业帐户。

提供所有详细信息后,我们的应用程序将被创建。要将我们的平台设置为 iOS,我们需要在屏幕左侧的窗格中导航到设置 -> 基本,单击添加平台按钮,然后选择 iOS 作为平台。

Facebook Login Integration in iOS

选择 iOS 平台后,将打开一个 Web 表单,提示我们提供 iOS 应用程序捆绑包 ID、设备商店 ID 等。在这里,我们需要从 XCode 应用程序的目标中复制捆绑包 ID 并将其粘贴到捆绑包 ID 字段中。但是,我们必须确保捆绑包 ID 与我们在 XCode 项目目标中提供的内容相同。

Facebook Login Integration in iOS

这就是需要在 Facebook 上完成的全部设置。现在,我们将在 XCode 上配置使用 Facebook 登录的演示应用程序。

2. 在 XCode 上配置 iOS 项目

在此步骤中,我们将使用 Cocoapods 在 XCode 上配置我们的 iOS 应用程序以使用 Facebook SDK。为此,我们需要在项目中设置 Pod。在终端上导航到项目目录并运行以下命令以初始化项目的 Podfile。

这将在我们的项目目录中创建一个 Podfile。我们需要打开 Podfile 并添加以下 Pod 以在我们的应用程序中安装 Facebook SDK。

现在,运行以下命令以在项目中安装 Pod。

这将生成一个 .xcworkspace 文件到我们的项目中。我们需要关闭 XCode 实例并在 XCode 中打开 .xcworkspace 文件。

Facebook Login Integration in iOS

我们已成功在我们的 iOS 应用程序中安装了 Facebook SDK。现在,我们需要配置 XCode。我们需要在 XCode 项目导航器中导航到 info.plist,并将其作为源代码打开,如下所示。

Facebook Login Integration in iOS

将以下 XML 代码插入到 <dict> </dict> 标记内的 info.plist 源代码中。

确保使用 Facebook 开发者仪表板上的实际应用程序 ID 和显示名称替换 CFBundleURLSchemes 的应用程序 ID 和应用程序名称;我们需要提供带有前缀 fb 的应用程序 ID。

3. 代码中的 Facebook 集成

现在,我们需要在我们的 AppDelegate 和 View Controller 中实现 Facebook 集成代码。为了使 Facebook SDK 能够处理获得的结果,我们需要使我们的 AppDelegate 符合 FBSDKApplicationDelegate。为此,在 AppDelegate 中导入 FBSDKCoreKit。

将 application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) 方法代码更改为以下内容。

此外,将以下方法添加到 AppDelegate 中。

现在,我们的 AppDelegate 将包含以下代码。

现在,我们需要在我们的应用程序中添加一个 Facebook 登录按钮。在我们的应用程序中,我们将使用 Facebook SDK 中包含的标准 Facebook 登录按钮。但是,我们也可以自定义 Facebook 登录按钮。

要添加 Facebook 登录按钮,请在 View Controller 中导入 FBSDKLoginKit。

现在,在 ViewController 的 viewDidLoad() 方法中添加以下代码。

我们还需要观察 Facebook 访问令牌的变化。为此,我们可以在我们的 viewDidLoad() 方法中添加一个观察者来打印最近更改的访问令牌值。

所有更改后,我们的 ViewController 将包含以下代码。

在 Facebook 开发者仪表板上创建测试用户

测试用户是我们可以用来测试应用程序各种功能的临时用户。要创建测试用户,请在浏览器上打开开发者仪表板,或打开链接:https://developers.facebook.com,然后为我们的 iOS 应用程序选择最近创建的应用程序。在左侧面板中,导航到 Roles -> Test Users,然后单击右上角的添加按钮。

Facebook Login Integration in iOS

当我们单击添加按钮时,将打开以下对话框以选择要为应用程序创建的测试用户的数量。

Facebook Login Integration in iOS

当我们单击创建测试用户后,我们将看到为应用程序创建的测试用户;我们可以编辑为测试用户创建的名称和凭据,如下所示。

Facebook Login Integration in iOS

更改测试用户的姓名和密码后,我们现在可以使用最近创建的测试帐户测试我们的 Facebook 集成。

现在,在模拟器中构建并运行应用程序。我们将看到一个模糊的 Facebook 登录按钮,如下所示。

Facebook Login Integration in iOS

点击该按钮;将显示一个警报以供用户同意,如下所示。

Facebook Login Integration in iOS

单击继续。它将打开 Facebook 登录页面,我们可以在其中提供测试用户的凭据以登录 Facebook。

Facebook Login Integration in iOS

单击登录以继续登录。如果我们正确设置了 Facebook 集成并测试了用户,将出现以下确认页面。

Facebook Login Integration in iOS

一旦我们确认以 Test 身份登录,确认页面将被关闭。我们还必须注意到,登录按钮的标题现在将更改为注销按钮。

Facebook Login Integration in iOS

我们可以使用控制台中打印的 Facebook 访问令牌来验证应用程序的服务器或 Firebase。在这里,我们已成功在我们的 iOS 应用程序中集成了 Facebook 登录。