iOS 版 Facebook SDK 新手入门
iOS 版 Facebook SDK 是集成 iOS 应用与 Facebook 最简便的方法。其中包括:
- Facebook 登录 — 通过 Facebook 凭证验证用户身份。
- “分享”和“发送”对话框 — 实现从您的应用将内容分享到 Facebook。
- 应用事件 — 记录应用内事件。
- 图谱 API — 读写图谱 API。
您有两种方法设置应用,以便使用 Facebook SDK。如果您尚未在 Facebook 注册应用,最简单快速的方法是使用快速入门工具。另一种方法是跳过快速入门,使用下方的手册说明。
iOS 快速入门第 1 步: 为 iOS 配置 Facebook 应用设置
- 点击下方按钮打开 Facebook 应用面板并选择您的应用。
- 从左侧导航栏选择设置。
- 点击页面底部的添加开放平台,然后选择 iOS。
- 在 Xcode 中找到捆绑标识符,并将它复制到剪贴板。
- 返回应用面板,将捆绑标识符粘贴到 Bundle ID 一栏。
- 启用单点登录。
- 在应用面板窗口底部点击保存更改。


第 2 步: 下载 iOS 版 Facebook SDK
- 使用下方按钮下载 SDK。
将存档解压缩至
~/Documents/FacebookSDK。
第 3 步: 将 SDK 添加到项目
要在 Xcode 中添加 SDK:
- 打开应用的 Xcode 项目。
- 如果您的项目中没有 Frameworks(框架)组,请创建一个。
- 使用查找工具打开
~/Documents/FacebookSDK。 - 将 Bolts.framework、FBSDKCoreKit.framework、FBSDKLoginKit.framework 和 FBSDKShareKit.framework 文件拖到 Xcode 项目导航器的 Frameworks(框架)组中。在显示的对话框中,选择 Create groups for any added folders(为添加的文件夹创建组),取消选择 Copy items into destination group's folder(将项目复制到目标组的文件夹)。这将按 SDK 的安装位置对其进行引用,而不是将 SDK 复制到应用中。
- 在项目中打开 Xcode 的 Build Settings(构建设置)选项卡。
- 将
~/Documents/FacebookSDK添加到项目的 Framework Search Paths(框架搜索路径)设置。
您使用 Facebook SDK 时,如果未禁用事件自动记录功能,应用事件将被自动记录和收集,用于 Facebook 应用分析。关于哪些信息会被收集以及如何禁用事件自动记录的详细信息,请参阅应用事件自动记录。
第 4 步: 配置 Xcode 项目
- 在 Xcode 中,使用辅键点击项目的 .plist 文件并选择 Open As(打开方式)-> Source Code(源代码)。
将以下 XML 代码片段插入文件正文,位于最后的
</dict>元素前。- 将 fb{your-app-id} 替换为 Facebook 应用编号,加上前缀 fb。例如,fb123456。您可以通过 Facebook 应用面板找到应用编号。
- 使用应用编号替换 {your-app-id}。
- 使用您在应用面板中指定的显示名称替换 {your-app-name}。
- 将 {human-readable reason for photo access} 替换为您的应用需要获取照片访问权限的理由。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>NSPhotoLibraryUsageDescription</key>
<string>{human-readable reason for photo access}</string>第 5 步: 连接应用委托
对于需要切换到原生 Facebook 应用或 Safari 的操作(例如 “Facebook 登录”或“Facebook 对话框”等),要对结果做后处理,您需要将 AppDelegate 类关联到 FBSDKApplicationDelegate 对象。要实现这一操作,请将以下代码添加到 AppDelegate.m 文件。
// AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
// Add any custom logic here.
return YES;
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
];
// Add any custom logic here.
return handled;
}注意: 在上面的 -application:openURL:sourceApplication:annotation: 实施示例中,必须调用 FBSDKApplicationDelegate,中转深度链接才能正常运行。
第 6 步: 添加应用事件
现在已完成对 SDK 的安装和配置,最简单的测试方法是向应用添加应用事件 (App Events)。应用事件能帮助您了解用户使用应用的情况。您可以从 14 种预定义事件中选择一个记录事件,例如:商业应用中的加入购物车,或游戏中的完成关卡。您还可以定义专属的自定义事件。
记录应用激活
要查看有多少用户在使用您的应用,请将以下代码添加到 AppDelegate.m 文件中,以便记录应用激活操作。
// AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}要验证记录:
- 编译并运行应用。
- 前往应用分析面板并选择您的应用。
- 在左侧菜单中,选择活动 -> 事件。
短暂延迟后,激活数据才会显示在事件面板中。如果您没有看到任何内容,请等待一分钟并刷新页面。