iOS 11-App自动填充钥匙串保存的密码

实现此功能需要注意一下几点:

  • 需要有一个支持HTTPS协议的域名,因为App实现用户名密码自动匹配要和该网站关联。
  • 开启iPhone的iCloud钥匙串服务。

App内的设置

  1. 设置 TextField 的 ContentType

    在iOS11中,TextContentType新增加了UsernamePassword类型,我们只需要将相应的TextField设置为对应的ContentType即可。

    iOS 11-App自动填充钥匙串保存的密码_第1张图片
    2.png

设置完成后,用户可以在输入用户名与密码时,通过点击QuickType bar右侧的钥匙串按钮,在所有的保存的密码中选择要输入的用户名和密码了(如下图)。但是,这样还不是很方便,如果用户保存的密码很多,需要在列表中查找也并不很方便。我们需要在QuickType的候选区列出用户曾经在我们的网站保存过的密码。


iOS 11-App自动填充钥匙串保存的密码_第2张图片
3.png
  1. 设置Associated Domains

    webcredentials后填写我们网站的Domain,即我们要关联的域名。

iOS 11-App自动填充钥匙串保存的密码_第3张图片
4.png
  1. 登录Apple开发者网站

    确认Associated Domains已经启用。同时,我们要记录一下当前应用的Prefix,后面会用到。

    iOS 11-App自动填充钥匙串保存的密码_第4张图片
    1.png

网站端设置

  • 新建文件,内容如下json格式文件:
{
    "webcredentials":{
        "apps":["YH6UHB9OL.com.tfkjLee.pass"] 
      //YH6UHB9OL是我们上面记录下来的Prefix,com.tfkjLee.pass应用的 Bundle ID
    }
}
  • 保存文件,命名为apple-app-site-association

  • 重要的事情说一遍: 不要后缀名

  • 我们需要在我们要关联的网站上添加这个文件,路径为根目录或者.well-known,放一个即可,路径如下:

    https://www.baidu.com/.well-known/apple-app-site-association
    https://www.baidu.com/apple-app-site-association
    

    我们可以通过浏览器访问上面的地址,确保刚才的文件可以通过浏览器下载。

结束语

完成以上的设置就可以实现密码填充功能了,App QuickType的候选区列出密码是和域名相关的,也就是说如果多个app用的同一个域名,那么系统会把这几个app的密码都提示出来!!!

你可能感兴趣的:(iOS 11-App自动填充钥匙串保存的密码)