当我在全新的iPhone上安装Square应用程序时,它会将我的名字,姓氏和电子邮件预填充到注册字段中。我必须输入的只是一个密码。那真的很整洁。
这是如何运作的,它如何知道我是谁?这是使用特权API吗?获取用户名AFAIK没有编程方式。
答案 0 :(得分:12)
我对此也很好奇,所以我早些时候自己检查了一下。这是一个非常聪明的伎俩。以下是它的工作原理:
首先,Square访问您的iPhone名称。 (这不是受保护的API。)
对于大多数人来说,手机的默认名称与“Steve Smith的iPhone”类似。执行正则表达式匹配,解析出“Steve Smith”。
然后在您的联系人列表中搜索“史蒂夫史密斯”。
如果找到条目,则会返回该联系人的名字/姓氏和电子邮件地址。注册表格相应地预先填充。
如果找不到条目,则注册表单将保持空白。同样,如果您的iPhone名称不是默认格式 - 即使它只是一个字符关闭 - 预填充机制也不会触发。
您可以通过将iPhone的名称更改为任意联系人来证明这一点,例如“Dave Wilson的iPhone”,并注意到Dave Wilson的联系信息现在将预先填充。