我们对限制登录的端点进行了更改;现在可以通过 Limited.facebook.com 加以访问
通过 Facebook 登录您的应用时,用户可以向您的应用授予权限,以便您能够代表这些用户在 Facebook 上检索信息或执行操作。
以下步骤用于将 Facebook 登录添加到您的 iOS 项目中。
在使用 iOS 版 Facebook 登录之前,请先设置您的开发环境。
使用 Swift 软件包管理工具 (SPM)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]
)
}
在您的 iOS 应用中使用 Facebook 登录按钮。
// Add this to the header of your file, e.g. in ViewController.swift
import FacebookLogin
// Add this to the body
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let loginButton = FBLoginButton()
loginButton.center = view.center
view.addSubview(loginButton)
}
}
AccessToken.current 代表登录应用的每位用户。 LoginManager 会为您设置此口令,而且在设置 AccessToken.current 时,也会将其写入 Keychain 存储。 AccessToken 包含的 userID 可用于识别用户。 FBLoginButton 对象上的 permissions 属性。