原文链接
作者:Arthur Knopper
原文日期:2017/04/26
译者:Crystal Sun
借助 Social Framework,可以给自己的 App 添加社交网络分享的功能。在本节教程中,将使用 social framework 往 Facebook 上发布一条状态。本节教程使用的是 Xcode 8.3 和 iOS 10.3。
设置工程
打开 Xcode,创建一个 Single View Application。
Product Name 使用 IOS10FacebookTutorial,填写自己的 Organization Name 和 Organization Identifier,Language 一栏选择 Swift,Devices 一栏选择 iPhone。
设置 Storyboard
从 Object-Library(控件库)中拖拽一个 Button 到主界面,将其标题改为 “Post to Facebook”。选中该控件,点击 Storyboard 右下角 Auto Layout 的 Align 按钮,选择 “Horizontally in Container”,点击 “Add 1 Constraint”。
仍然选中该 Button 控件,点击 Auto Layout 的 Pin 按钮,选中上面的线,点击 “Add 1 Constraint”。
Storyboard 看起来应如下图所示:
点击 Assistant Editor,确保 ViewController.swift 文件可见。Control 拖拽或右键点击拖拽,将 Button 控件拖拽到 ViewController 类下面,创建下列 Action。
打开 ViewController.swift 文件,引入 social framework。
import Social
接下来实现 postToFacebook 方法:
@IBAction func postToFacebook(_ sender: Any) {
// 1
if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeFacebook) {
// 2
if let controller = SLComposeViewController(forServiceType: SLServiceTypeFacebook) {
// 3
controller.setInitialText("Testing Posting to Facebook")
// 4
self.present(controller, animated:true, completion:nil)
}
}
else {
// 3
print("no Facebook account found on device")
}
}
- 检查设备上的 Facebook 账户是否可用。
- 创建 SLComposeViewController 对象,该对象用于显示 Facebook 状态发布界面和全部的功能。
- 设置发布 Facebook 状态的默认文案。
- 显示该 controller。
- 如果 Facebook 账户尚未设置,在控制台(console)里显示提示信息。
运行程序,开始往 Facebook 上发状态,确保模拟器的 Facebook 账户已经设置好了,在模拟器的菜单栏 Settings -> Facebook 里可以设置。
可以从 github 上下载 IOS10FacebookTutorial 教程的源代码。
本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权。