Square的iPhone应用程序如何以编程方式检索用户的联系信息?

时间:2012-03-26 19:58:55

标签: ios usability

当我在全新的iPhone上安装Square应用程序时,它会将我的名字,姓氏和电子邮件预填充到注册字段中。我必须输入的只是一个密码。那真的很整洁。

这是如何运作的,它如何知道我是谁?这是使用特权API吗?获取用户名AFAIK没有编程方式。

1 个答案:

答案 0 :(得分:12)

我对此也很好奇,所以我早些时候自己检查了一下。这是一个非常聪明的伎俩。以下是它的工作原理:

  • 首先,Square访问您的iPhone名称。 (这不是受保护的API。)

  • 对于大多数人来说,手机的默认名称与“Steve Smith的iPhone”类似。执行正则表达式匹配,解析出“Steve Smith”。

  • 然后在您的联系人列表中搜索“史蒂夫史密斯”。

  • 如果找到条目,则会返回该联系人的名字/姓氏和电子邮件地址。注册表格相应地预先填充。

  • 如果找不到条目,​​则注册表单将保持空白。同样,如果您的iPhone名称不是默认格式 - 即使它只是一个字符关闭 - 预填充机制也不会触发。

您可以通过将iPhone的名称更改为任意联系人来证明这一点,例如“Dave Wilson的iPhone”,并注意到Dave Wilson的联系信息现在将预先填充。