本指南将说明如何使用 iOS 版 Facebook SDK 将您的 iOS 应用与 Facebook 集成。
从 SDK 版本 13.0 开始,所有对图谱 API 的调用都需要提供客户端口令。
Facebook SDK 可提供以下功能:
如果您想执行以下操作 | 将此项目包添加至您的项目 |
---|---|
允许您的应用使用 Facebook 服务 |
|
允许用户登录应用,同时允许应用请求访问数据的权限 |
|
允许您的应用在 Facebook 上分享内容 |
|
允许用户登录您的应用,以参与并推广社交功能 |
|
Info.plist
文件。 Info.plist
,然后选择 Open As(打开方式)▸ Source Code(源代码)。 <dict>...</dict>
)。 [CFBundleURLSchemes]
键内的 <array><string>
中,将 APP-ID 替换为您的应用编号。FacebookAppID
键内的 <string>
中,将 APP-ID 替换为您的应用编号。FacebookClientToken
键内的 <string>
中,将 CLIENT-TOKEN 替换为您在应用面板设置 > 高级 > 客户端口令中找到的值。FacebookDisplayName
键内的 <string>
中,将 APP-NAME 替换为您的应用名称。Info.plist
还需包含以下代码: 您可以在 Info.plist
中添加 FacebookAutoLogAppEventsEnabled
作为一个键,以直接将应用事件自动收集功能设为“true”或“false”。
AppDelegate.swift
方法中的代码更换为以下代码。此代码会在启动应用时初始化 SDK,并在您执行登录或分享操作时,允许 SDK 处理原生 Facebook 应用的登录及分享。否则,用户便须登录 Facebook 才能使用应用内浏览器进行登录。 // AppDelegate.swift import UIKit import FacebookCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
SceneDelegate
中。如果您使用的是 iOS 13,请将以下方法添加到 SceneDelegate
中,以便相关操作(如登录或分享等功能)可按照预期运作: // SceneDelegate.swift import FacebookCore ... func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }