以下是一个示例代码,它基于Facebook SDK版本5.0,具体实现如下:
1. 集成Facebook SDK库
下载Facebook SDK并将其集成到您的Xcode工程中。您可以使用CocoaPods来轻松管理Facebook SDK依赖:
```
pod 'FacebookCore', '~> 5.0'
pod 'FacebookLogin', '~> 5.0'
pod 'FacebookShare', '~> 5.0'
```
2. 处理Facebook登录和回复消息
导入Facebook SDK,处理登录和回复消息发送的逻辑:
```swift
import FacebookCore
import FacebookLogin
import FacebookShare
class ViewController: UIViewController {
// 初始化登录按钮
let loginButton = LoginButton(readPermissions: [.publicProfile, .email, .userFriends])
override func viewDidLoad() {
super.viewDidLoad()
// 添加Facebook登录按钮
view.addSubview(loginButton)
loginButton.center = view.center
// 处理登录成功后的逻辑
loginButton.delegate = self
}
// 发送消息
func sendMessage() {
// 确保用户已经成功登录
guard let token = AccessToken.current else {
return
}
// 构造Facebook HTTP请求处理器
let connection = GraphRequestConnection()
// 此处 "/me/feed" 所在路径表示用户的动态,可根据需要修改
let message = "Hello, Facebook!"
let parameters = ["message": message]
let request = GraphRequest(graphPath: "/me/feed", parameters: parameters, httpMethod: HTTPMethod.post)
connection.add(request) { httpResponse, result in
switch result {
case .success(_):
// 消息发送成功
print("Message sent to Facebook: \(message)")
case .failed(let error):
// 发送失败
print("Error sending message to Facebook: \(error)")
}
}
// 开始请求
connection.start()
}
}
extension ViewController: LoginButtonDelegate {
func loginButtonDidCompleteLogin(_ loginButton: LoginButton, result: LoginResult) {
sendMessage()
}
func loginButtonDidLogOut(_ loginButton: LoginButton) {
// 用户注销了登录
}
func loginButtonDidCompleteLogin(_ loginButton: LoginButton, error: Error?) {
if let error = error {
print("Facebook login error: \(error)")
}
}
}
```
这只是一个示例代码,基于此您可以自定义功能更强大的Facebook API应用。