Enlace a facebook.
digitalDot diseño webLogo Diseño Web digitalDot

Integración de Facebook y Google en iOS

Integración inicios de sesión en app iOS. digitalDot
Escrito por Digitaldot
1 de febrero de 2019
Tiempo de lectura 6 min

El equipo de desarrollo de aplicaciones móviles de digitalDot no para de trabajar y además, como sabéis, sacan tiempo para redactar pequeños tutoriales con los que enseñaros algunos trucos en el desarrollo de apps.

En esta ocasión os vamos a mostrar cómo integrar Facebook y Google en iOS (Swift 4.2), para que los usuarios de la app puedan loguearse o iniciar sesión desde una de estas dos plataformas.
No es porque lo digamos nosotros, pero es muy sencillo. Seguid leyendo y os daréis cuenta.

¿Cómo integrar Facebook en una aplicación iOS?

Una forma de instalar Facebook en Xcode es mediante el archivo podfile. En dicho archivo se añaden las siguientes líneas:

pod 'FBSDKCoreKit', '4.38.0'
pod 'FBSDKLoginKit', '4.38.0'
pod 'FBSDKShareKit', '4.38.0'

En el terminal se abre la carpeta del proyecto donde se encuentre ese archivo y se ejecuta el comando:

pod update

Una vez instalado Facebook, se debe obtener el identificador de la aplicación. ¿Cómo lo conseguimos?, en el siguiente enlace oficial de Facebook for Developers.

Para ello, se crea una nueva aplicación y se nos ofrecerá un identificador.

¡¡Ojo!!: el estado debe mostrarse como ‘Publicada’ y debe aparecer el producto ‘Inicio de sesión con Facebook’.

Por otro lado, se deben añadir las siguientes líneas al archivo Info.plist.

<array>          <dict>

            <key>CFBundleURLSchemes</key>

                        <array>

                                    <string>fb{id}</string>

                        </array>

          </dict>

</array>

<key>FacebookAppID</key>

<string>{id}</string>

<key>FacebookDisplayName</key>

<string>nombre-app</string>

<key>LSApplicationQueriesSchemes</key>

<array>

          <string>fbapi</string>

          <string>fbauth2</string>

          <string>fb-messenger-api</string>

          <string>fbshareextension</string>

          <string>comgooglemaps</string>

</array>

Debéis comprobar que el nombre de la app sea el mismo que hemos puesto al crear la aplicación en Facebook for Developers.

El último paso es añadir en AppDeelegate la función:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {      

        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

            return true

}

¡¡Ojo!!: no olvidéis importar FBSDKCoreKit.

En la pantalla que queramos poner el login de Facebook se propone incluir lo siguiente para obtener datos del cliente:

let fbManager = FBSDKLoginManager()        fbManager.logIn(withReadPermissions: ["public_profile", "email"], from: self) { (result, error) in

              if let loginResult = result, error == nil {

                if let permissions = loginResult.grantedPermissions {

                    if permissions.contains("email")

                    {

                    let graphRequest:FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"first_name, last_name,email"])

                    graphRequest.start(completionHandler: { (connection, result, error) -> Void in

                        if error == nil{

                            let data:[String:AnyObject] = result as! [String : AnyObject]

                            Utilidades.emailFacebook = data["email"] as! String

                            var first_name = data["first_name"] as! String

                            var last_name = data["last_name"] as! String

               

                        }

                    })

                    }

                }

            }

        }

No os olvidéis de importar FBSDKCoreKit y FBSDKLoginKit.

Integrar Facebook y Google para inicio de sesión iOS. digitalDot

¿Cómo integrar Google en una aplicación iOS?

Ya habéis conseguido que los usuarios de vuestra app accedan a ella a través de su cuenta de Facebook, ahora, vamos a hacer lo mismo para aquellos que no sean tan seguidores de Mark Zuckerberg y prefieran entrar con su cuenta de Google.

En primer lugar, instalamos GoogleSignIn mediante el archivo podfile en el que se pone la siguiente línea.

pod 'GoogleSignIn'

Desde el terminal, en la carpeta del proyecto, se ejecuta el siguiente comando:

pod update

En segundo lugar, tenemos que obtener el identificador de Google. Para ello, accederemos a la web oficial de Developers Google.

Y hacemos clic en ‘CONFIGURE A PROJECT’

A continuación, se crea el proyecto, se añade un nombre, el tipo de aplicación (en nuestro caso iOS), el bundle ID (en la información del proyecto en Xcode aparece) y te devolverá el ID que será algo parecido al siguiente formato:

“YOUR_CLIENT_ID.apps.googleusercontent.com"

Ahora deberemos añadir el identificador obtenido en Xcode. ¿Cómo lo hacemos?, pues en Xcode se accede a:

Project > Target > Info > URL Types, y se añade el identificador obtenido, pero en orden INVERSO, en la sección ‘URL Schemes’.

Quedaría algo así:

“com.googleusercontent.apps.YOUR_CLIENT_ID"

Seguidamente modificaremos AppDeelegate.swift añadiendo en la cabecera de AppDelegate: GIDSignInDelegate y la función:

class AppDelegate: UIResponder, UIApplicationDelegate, GIDSignInDelegate{ 

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {

        return GIDSignIn.sharedInstance().handle(url as URL,

                                                 sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])

}

No os olvidéis importar GoogleSignIn.

Por último, modificaremos ViewController.swift, añadiendo, en la cabecera, las siguientes clases:

class LoginViewController: UIViewController, GIDSignInDelegate, GIDSignInUIDelegate{

En la función viewDidLoad() se añade la siguiente funcionalidad:

GIDSignIn.sharedInstance().uiDelegate = self        GIDSignIn.sharedInstance().clientID = "YOUR_CLIENT_ID.apps.googleusercontent.com"

        GIDSignIn.sharedInstance().delegate = self

Para añadir el inicio de sesión se llama a la siguiente función:

GIDSignIn.sharedInstance().signIn()

Si el usuario se ha registrado correctamente, en esta función, obtendremos sus datos como se muestra en el ejemplo:

func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {        //if any error stop and print the error

        if error != nil{

            print(error ?? "google error")

            return

        }

        let fullName = user.profile.name

        let email = user.profile.email

 }

Y hasta aquí el tutorial de hoy. Si queréis seguir aprendiendo a desarrollar aplicaciones móviles no dejéis de seguirnos, prometemos ser más amenos la próxima vez. ?

Inicio sesión facebook con ios. digitalDot

Si tenéis alguna duda o lo que necesitáis es crear una app para vuestro negocio, podéis contactar con el equipo de digitalDot y contarle vuestras ideas.

Noticias relacionadas sobre Aplicaciones Móviles

Cómo desarrollar aplicaciones móviles seguras desde el diseño

Cómo desarrollar aplicaciones móviles seguras desde el diseño

Hoy en día, las aplicaciones móviles y web son el canal principal de interacción con los usuarios, por lo que la seguridad no puede tratarse como una capa adicional. Hoy, desarrollar software seguro implica integrar la protección desde las primeras decisiones de diseño. En digitalDot trabajamos bajo un enfoque de…

Cómo ofuscar código en Android

Cómo Ofuscar código en Android

La ofuscación de código es una técnica importante para proteger tus aplicaciones móviles contra la ingeniería inversa y mejorar la seguridad de tu software. Desde digitalDot, te mostraremos cómo puedes ofuscar tu código en Android usando ProGuard y otras herramientas. Inicio del proceso de ofuscación A la hora de compilar…

Novedades sobre Android 14

Android 14: novedades para los desarrolladores de apps móviles

El lanzamiento de Android 14, originalmente programado para el martes 5 de septiembre de 2023, ha experimentado un aplazamiento hasta el próximo mes de octubre. Esta nueva fecha coincidirá con el evento de presentación del esperado Pixel 8, junto con el lanzamiento del flamante Pixel Watch 2, el reloj inteligente…

Estadísticas 2023 sobre aplicaciones móviles para tiendas online

Estadísticas 2023 sobre aplicaciones móviles para tiendas online

¿Estás pensando en tener una aplicación móvil para tu tienda online? ¿No lo has pensado todavía porque no te termina de convencer? El pasado miércoles 19 de julio, AppsFlyer publicó el informe “The State of eCommerce App Marketing”, un análisis profundo de las tendencias de la industria mundial para orientar…

¿Cómo crear una app de éxito?

¿Cómo crear un App de éxito?

Actualmente, miles de personas incorporan las aplicaciones móviles a sus rutinas por lo que, cada vez, están más integrados en nuestros hábitos diarios.Los investigadores MTM y Google han desarrollado un modelo para empresas, que les informa de cómo crear una “app exitosa”. Hablemos de ello. Poder integrar una App por…

Garantías para tiendas online y Apps

Garantías para tiendas online y APP de digitalDot

El 1 de enero del presente año (2022) entró en vigor una nueva normativa que afecta a la garantía legal de cualquier tipo de productos digitales, incluidas las garantías para tiendas online o aplicaciones móviles. digitalDot, como empresa de desarrollo de software debemos aplicar esta nueva normativa principalmente en algunas…

Desarrollo app Firebase - digitalDot

Acelera el desarrollo de tus apps con el marco de Firebase

Google nos trae nuevas características en su marco de desarrollo Firebase con lo que los desarrolladores podrán disminuir los tiempos de producción de sus aplicaciones. Firebase es una plataforma que fue creada por Google en 2014 para el desarrollo de aplicaciones web y móviles. Se encuentra integrada con Google Cloud…

Posicionamiento de aplicaciones móviles

¿Cómo posicionar una aplicación móvil?

Si estás leyendo este artículo es porque o tienes una app o estás a punto de tenerla y quieres saber cómo aparecer por encima del resto de aplicaciones móviles. En digitalDot, además de diseñar apps para Android y para iOS, os ayudamos a posicionarlas. En esta ocasión os vamos a…

Añadir Política de privacidad en la app Play Store

Cómo añadir la política de privacidad en nuestra App Play Store

Hace unos meses Google anunció una nueva normativa por la cual se obliga a incluir la política de privacidad a todas las aplicaciones a partir de abril de 2022. Este es un cambio ya hemos vivido como agencia de desarrollo web y software en el desarrollo de páginas, pero ahora…

1 2 3 6
crossmenuchevron-down