iOS
Implementación de inicio de sesión en iOS con Facebook y Swift
11 min
agrega inicio de sesión de facebook a tu aplicación ios usando swift tutorial introducción esta sección explica cómo puedes crear una aplicación con registro de usuario utilizando el inicio de sesión de facebook y características principales de parse server a través de back4app requisitos previos para completar este inicio rápido, necesitas xcode una aplicación creada en back4app sigue el tutorial de nueva aplicación parse para aprender cómo crear una aplicación parse en back4app una aplicación ios conectada a back4app nota sigue el tutorial de instalación del sdk de parse (objc) para crear un proyecto de xcode conectado a back4app 1 configuración de facebook para comenzar a usar las funciones de facebook, necesitas ir al sitio web de desarrolladores de facebook y crear una cuenta y una aplicación agrega el id de la aplicación de facebook de tu aplicación en la página de configuración de tu aplicación parse sigue las instrucciones de facebook para comenzar con el sdk de facebook https //developers facebook com/docs/ios/getting started para crear una aplicación vinculada al sdk de facebook 2 vincula tu aplicación de facebook con back4app ve a tu panel de la aplicación en sitio web de back4app y haz clic en configuración del servidor configuración del servidor encuentra el bloque “inicio de sesión de facebook” y haz clic en configuración configuración el bloque “inicio de sesión de facebook” se ve así 3\ regresa a tu proyecto de xcode, abre tu info plist info plist copia el código de configuración de facebook , paso 4a, ítem 2, y pégalo en la \<dict> \</dict> \<dict> \</dict> parte de tu info plist 4\ para usar un cuadro de diálogo de facebook, también copia y pega el código de la sección 4a, ítem 3 en tu info plist info plist archivo 5\ guarda 3 configurando tu aplicación agrega lo siguiente a tu método application\ didfinishlaunchingwithoptions , después de haber inicializado el sdk de parse 1 import fbsdkcorekit 2 import parse 3 4 // appdelegate swift 5 func application(application uiapplicatiofunc application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplication launchoptionskey any]?) > bool { 6 // initialize parse 7 let parseconfig = parseclientconfiguration { 8 $0 applicationid = "parseappid" 9 $0 clientkey = "parseclientkey" 10 $0 server = "parseserverurlstring" 11 } 12 parse initialize(with parseconfig) 13 pffacebookutils initializefacebook(applicationlaunchoptions launchoptions) 14 } 2\ agrega los siguientes controladores en tu delegado de aplicación 1 func application( application uiapplication, open url url, sourceapplication string?, annotation any) > bool { 2 3 return fbsdkapplicationdelegate sharedinstance() application( 4 application, 5 open url, 6 sourceapplication sourceapplication, 7 annotation annotation 8 ) 9 10 } 11 12 func application( app uiapplication, open url url, options \[uiapplication openurloptionskey any] = \[ ]) > bool { 13 14 return fbsdkapplicationdelegate sharedinstance() application( 15 app, 16 open url, 17 sourceapplication options\[ sourceapplication] as? string, 18 annotation options\[ annotation] 19 ) 20 21 } 22 23 //make sure it isn't already declared in the app delegate (possible redefinition of func error) 24 func applicationdidbecomeactive( application uiapplication) { 25 fbsdkappevents activateapp() 26 } 4 iniciar sesión y registrarse pfuser pfuser proporciona una forma de permitir que tus usuarios inicien sesión o se registren a través de facebook esto se hace utilizando el logininbackgroundwithreadpermissions logininbackgroundwithreadpermissions método de la siguiente manera 1 pffacebookutils logininbackground(withreadpermissions permissions) { 2 (user pfuser?, error error?) in 3 if let user = user { 4 if user isnew { 5 print("user signed up and logged in through facebook!") 6 } else { 7 print("user logged in through facebook!") 8 } 9 } else { 10 print("uh oh the user cancelled the facebook login ") 11 } 12 } cuando se ejecuta este código, sucede lo siguiente se muestra al usuario el diálogo de inicio de sesión de facebook el usuario se autentica a través de facebook, y tu aplicación recibe una llamada de retorno usando handleopenurl handleopenurl nuestro sdk recibe los datos de acceso de facebook del usuario y los guarda en un pfuser pfuser si no existe un pfuser pfuser con el mismo id de facebook, entonces se crea un nuevo pfuser pfuser tu bloque de código se llama con el usuario la referencia del usuario actual se actualizará a este usuario el argumento de permisos es un arreglo de cadenas que especifica qué permisos requiere tu aplicación del usuario de facebook estos permisos deben incluir solo permisos de lectura para adquirir permisos de publicación para un usuario de modo que tu aplicación pueda, por ejemplo, publicar actualizaciones de estado en su nombre, debes llamar a \[pffacebookutils logininbackgroundwithpublishpermissions ] logininbackgroundwithpublishpermissions ] 1 pffacebookutils logininbackgroundwithpublishpermissions(\["publish actions"], { 2 (user pfuser?, error nserror?) > void in 3 if user != nil { 4 // your app now has publishing permissions for the user 5 } 6 }) 5 vinculación si deseas asociar un pfuser pfuser existente a una cuenta de facebook, puedes vincularlo así 1 if !pffacebookutils islinkedwithuser(user) { 2 pffacebookutils linkuserinbackground(user, withreadpermissions nil, { 3 (succeeded bool?, error nserror?) > void in 4 if succeeded { 5 print("woohoo, the user is linked with facebook!") 6 } 7 }) 8 } 6 desvinculación si deseas desvincular facebook de un usuario, simplemente haz esto 1 pffacebookutils unlinkuserinbackground(user, { 2 (succeeded bool?, error nserror?) > void in 3 if succeeded { 4 print("the user is no longer associated with their facebook account ") 5 } 6 })