Hemos hecho un cambio en los extremos del inicio de sesión limitado y ahora se puede acceder desde limited.facebook.com.
Cuando las personas inician sesión en tu aplicación con Facebook, le conceden permiso para obtener información o realizar acciones en la plataforma en su nombre.
Estos son los pasos para añadir el inicio de sesión con Facebook a tu proyecto para iOS.
Entra en Facebook para crear aplicaciones o regístrate como desarrollador.
Configura el entorno de desarrollo antes de utilizar el inicio de sesión con Facebook para iOS.
Uso del administrador de paquetes Swift (SPM)Registra y configura la aplicación para poder usar el inicio de sesión con Facebook; para ello, añade el identificador de paquete.
Info.plist
con un fragmento de código XML que contenga datos sobre tu aplicación. Al integrar el inicio de sesión con Facebook, determinados eventos de la aplicación se registran y recopilan automáticamente para el Administrador de eventos, a menos que desactives el registro automático de eventos de la aplicación. Para obtener información más detallada sobre los datos que se recopilan y cómo desactivar el registro automático de eventos de la aplicación, consulta Registro automático de eventos de la aplicación.
Info.plist
y elige Open as ▸ Source Code (Abrir como ▸ Código fuente). <dict>...</dict>
). <array><string>
, en la clave [CFBundleURLSchemes]
, reemplaza APP-ID por el identificador de la aplicación.<string>
, en la clave FacebookAppID
, reemplaza APP-ID por el identificador de la aplicación.<string>
, en la clave FacebookClientToken
, reemplaza CLIENT-TOKEN por el valor que puedes encontrar en el panel de aplicaciones bajo Configuración > Opciones avanzadas > Identificador de cliente.<string>
, en la clave FacebookDisplayName
, reemplaza APP-NAME por el nombre de la aplicación.Info.plist
de la aplicación también debe incluir lo siguiente: Para establecer directamente la recopilación automática de eventos de la aplicación en “true” o “false”, añade FacebookAutoLogAppEventsEnabled
como clave en Info.plist
.
AppDelegate.swift
por el código siguiente. Este código inicializa el SDK cuando se inicia tu aplicación y permite que el SDK gestione los inicios de sesión y el uso compartido de la aplicación de Facebook nativa cuando realizas la acción de iniciar sesión o compartir contenido. De lo contrario, el usuario debe tener la sesión iniciada en Facebook para usar el navegador en la aplicación a fin de 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, añade el método siguiente a SceneDelegate
para que operaciones como el inicio de sesión o la función para compartir contenido 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 aplicación 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
. LoginManager
establece este identificador automáticamente y, cuando define el objeto AccessToken.current
, también lo escribe de forma automática en el almacén de cadenas de claves. AccessToken
contiene el elemento userID
, que puedes utilizar para identificar al usuario. permissions
en el objeto FBLoginButton.