Selector de cuenta iOS de inicio de sesión de Google

Estoy utilizando el inicio de sesión de Google en mi aplicación de iOS. Seguí el tutorial de Google ( https://developers.google.com/identity/sign-in/ios/sign-in#add_the_sign-in_button ) que utiliza un GIDSignInButton que el usuario tiene que hacer clic. Cuando hace clic en él es redirigido a Safari que se ve así:

Introduzca aquí la descripción de la imagen

El problema con esto es que tengo varias cuentas de Google y me gustaría poder elegir cuál de ellas quiero usar. Ahora solo se necesita uno de ellos automáticamente y todo lo que tengo que hacer es presionar "negar" o "permitir". Además, no me gusta el hecho de que la aplicación se redirige a Chrome. Idealmente lo que quiero es algo como la aplicación de Hangouts de Google en iOS:

Introduzca aquí la descripción de la imagen

Le muestra todas las cuentas que ha utilizado para iniciar sesión en cualquier aplicación de Google anteriormente y le permite decidir cuáles usar con la aplicación sin salir de la aplicación. En Android tengo algo similar para mi aplicación:

Introduzca aquí la descripción de la imagen

¿Cómo puedo lograr este tipo de comportamiento (no dejas app + account chooser) en mi aplicación iOS?

La razón por la que son capaces de hacer eso en Google Hangouts es porque está hecha por Google. Las empresas no siempre ponen todas las funciones a disposición de los desarrolladores y este es un excelente ejemplo de ello. La razón por la que fue capaz de hacer esto en Android fue porque Google decidió permitir a los desarrolladores más acceso a diferentes características. Después de todo, Android es desarrollado por Google. Ahora como para no dejar la aplicación siempre se puede utilizar una vista web incorporado. Esto mantendrá al usuario en la aplicación y en su lugar aparecerá una vista web de forma modal. No es el mejor del mundo, pero es mejor que tener el usuario enviado a otro sitio. ¿Has probado este código?

// Implement these methods only if the GIDSignInUIDelegate is not a subclass of // UIViewController. // Stop the UIActivityIndicatorView animation that was started when the user // pressed the Sign In button func signInWillDispatch(signIn: GIDSignIn!, error: NSError!) { myActivityIndicator.stopAnimating() } // Present a view that prompts the user to sign in with Google func signIn(signIn: GIDSignIn!, presentViewController viewController: UIViewController!) { self.presentViewController(viewController, animated: true, completion: nil) } // Dismiss the "Sign in with Google" view func signIn(signIn: GIDSignIn!, dismissViewController viewController: UIViewController!) { self.dismissViewControllerAnimated(true, completion: nil) } 

Encontré esto en el enlace que publicaste. No he funcionado o probado el código pero aparece presentar un regulador de la visión en vez de enviarle al safari. Esto puede ser más a lo largo de las líneas de lo que quieres.

Para responder a la pregunta de @ Sam:

"¿Cómo iniciar sesión en Google por las aplicaciones de Google instaladas existentes en lugar de abrir URL en Safari?"

Probablemente podría lograr esto con Android, pero no con iOS. Este es otro ejemplo de algo que está restringido debido a la plataforma seleccionada.

Recuerde que cualquier opción que termine eligiendo todavía será requerido adherirse a OAuth 2.0. Yo sugeriría si en todo lo posible utilizando lo que Google ha construido para los desarrolladores de iOS para su uso. Cuando se trata de seleccionar una cuenta distinta a la predeterminada, si eligió seguir la guía y hacer lo que Google creó para los desarrolladores de iOS, puede simplemente tocar la imagen de perfil y cambiar cuentas.

TL, DR

https://www.youtube.com/watch?time_continue=227&v=-26DGO_E1ds

  • Respuesta nula de HTTP Post Request Android
  • Cómo iniciar sesión en facebook en WebView si ya tiene acceso token de FB SDK en Android
  • Compilación de error en "Usar el ejemplo de inicio de sesión de Facebook"
  • ¿Puedo usar el AccountManager de Android para obtener el token de acceso de OAuth para AppEngine?
  • Facebook después de iniciar sesión no volver pero preguntar login de nuevo
  • El diálogo de inicio de sesión de Facebook desaparece después de la carga
  • CircularRedirectException con autenticación de google
  • Instagram de Android inicie sesión sin utilizar la vista web
  • Uso de google-account para iniciar sesión en la aplicación Android
  • Aplicación desordenada en el teclado emergente
  • ¿Por qué Gallery es tan lenta / accede a GoogleLoginService?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.