¿Cómo sabe Square mi nombre en el proceso de registro de su aplicación? Parece que esta información se extrae automáticamente. ¿Es de la integración de Twitter en iOS o de otra fuente de datos?

Yo también tenía curiosidad por esto, así que lo comprobé yo mismo antes y miré bajo el capó. Es un truco bastante inteligente. Aquí's cómo funciona:

  • Primero, Square accede al nombre de su iPhone. (Esto no es una API protegida.)
  • Para la mayoría de la gente, el nombre por defecto del teléfono es algo parecido a "Steve Smith's iPhone". Se realiza una coincidencia de expresión regular, analizando "Steve Smith".
  • "Steve Smith" se busca entonces en su lista de contactos.
  • Si se encuentra una entrada, devuelve los nombres y apellidos y la dirección de correo electrónico de ese contacto. El formulario de inscripción se rellena en consecuencia.
  • Si no se encuentra una entrada, el formulario de inscripción permanecerá en blanco. Del mismo modo, si el nombre de su iPhone es algo diferente al formato por defecto - incluso si es sólo un carácter fuera - el mecanismo de prepopulación will't disparar.

Puede probar que esto funciona cambiando el nombre de su iPhone a un contacto arbitrario, como en "Dave Wilson's iPhone", y notando que la información de contacto de Dave Wilson's ahora se prepopulará.

Así que Square no sabe realmente su nombre, per se. Sólo sabe que este teléfono en particular parece pertenecer a una persona basándose en la estructura de nombres del teléfono, y que esa persona tiene una entrada de contacto. No hay manera de saber si esa persona es realmente usted, como en el ejemplo de Dave Wilson arriba.