2012-03-26 10 views
11

Cuando instalo la aplicación Square en un iPhone nuevo, rellena previamente mi nombre, apellido y correo electrónico en los campos de registro. Todo lo que tengo que escribir es una contraseña. Eso es realmente bueno.¿Cómo la aplicación de iPhone de Square recupera programáticamente la información de contacto del usuario?

¿Cómo funciona eso y cómo sabe quién soy? ¿Esto está usando una API privilegiada? No hay una forma programática de obtener un nombre de usuario, AFAIK.

Respuesta

12

Yo también tenía curiosidad por esto, así que lo compruebo antes. Es un truco muy inteligente. Así es como funciona:

  • Primero, Square accede al nombre de su iPhone. (Esto no es una API protegida.)

  • Para la mayoría de las personas, el nombre predeterminado del teléfono es algo similar a "Steve Smith's iPhone". Se realiza una coincidencia de expresión regular, analizando "Steve Smith".

  • "Steve Smith" se busca en su lista de contactos.

  • Si se encuentra una entrada, devuelve los nombres/apellidos y la dirección de correo electrónico de ese contacto. El formulario de registro se rellena previamente en consecuencia.

  • Si no se encuentra una entrada, el formulario de registro se mantendrá en blanco. Del mismo modo, si el nombre de su iPhone es distinto del formato predeterminado, incluso si solo tiene un carácter desactivado, el mecanismo de prepoblación no se activará.

Puede demostrar que esto funciona cambiando el nombre de su iPhone a un contacto arbitraria, como en "iPhone de Dave Wilson", y darse cuenta de que la información de contacto de Dave Wilson ahora se rellena previamente.

Cuestiones relacionadas