Hicimos un cambio en los puntos de conexión del inicio de sesión limitado: ahora es posible acceder desde limited.facebook.com
Cuando las personas inician sesión en tu app con Facebook, conceden a la aplicación permisos para obtener información o realizar acciones en Facebook en su nombre.
Debes aplicar los siguientes pasos para agregar el inicio de sesión con Facebook a tu proyecto de iOS.
Inicia sesión en Facebook para crear apps o regístrate como desarrollador.
Configura el entorno de desarrollo antes de usar el inicio de sesión con Facebook para iOS.
Uso del administrador de paquetes de Swift (SPM)Registra y configura tu app para usar el inicio de sesión con Facebook agregando el identificador de paquete.
Info.plist
con un fragmento de XML que contiene datos sobre tu app. Después de que integras el inicio de sesión con Facebook, se registran y recopilan automáticamente determinados eventos de la app en el administrador de eventos, a menos que desactives el registro automático de eventos. Para obtener información sobre qué información se recopila y cómo desactivar el registro de eventos de la app de manera automática, consulta Registro automático de eventos de la app.
info.plist
y elige Open As ▸ Source Code. <dict>...</dict>
). <array><string>
de la clave [CFBundleURLSchemes]
, reemplaza [APP-ID] con el identificador de la app.<string>
de la clave FacebookAppID
, reemplaza [APP-ID] con el identificador de la app.<string>
de la clave FacebookClientToken
, reemplaza CLIENT-TOKEN con el valor encontrado en Configuración > Avanzado > Token del cliente del panel de apps.<string>
de la clave FacebookDisplayName
, reemplaza [APP-NAME] por el nombre de la app.Info.plist
de tu solicitud también debe incluir la siguiente información: Es posible configurar directamente la recopilación automática de eventos de la app en "verdadero" o "falso" si se agrega FacebookAutoLogAppEventsEnabled
como clave en Info.plist
.
AppDelegate.swift
con el siguiente código. Este código inicializa el SDK cuando se inicia tu app y permite al SDK administrar inicios de sesión y compartir contenido desde la app nativa de Facebook cuando inicias sesión o compartes algo. De lo contrario, el usuario debe iniciar sesión en Facebook a fin de usar el navegador de la app para iniciar sesión. // 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
. Si usas iOS 13, agrega el siguiente método a SceneDelegate
para que las operaciones como el inicio de sesión o el uso compartido funcionen según lo previsto: // 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] ) }
Usa el botón de inicio de sesión con Facebook en tu app para iOS.
// 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
a las personas que inician sesión en la app. LoginManager
establece este token por ti y, cuando establece AccessToken.current
, también lo escribe de forma automática en el almacenamiento de llavero. AccessToken
contiene el identificador userID
, con el que puedes identificar al usuario. permissions
en el objeto FBLoginButton
.