我们对限制登录的端点进行了更改;现在可以通过 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
属性。