美文网首页iOS开发实用技巧
iOS 11-App自动填充钥匙串保存的密码

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

作者: 涛歌依旧 | 来源:发表于2018-01-27 14:21 被阅读207次

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

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

    App内的设置

    1. 设置 TextField 的 ContentType

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

      2.png

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


    3.png
    1. 设置Associated Domains

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

    4.png
    1. 登录Apple开发者网站

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

      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自动填充钥匙串保存的密码

        本文链接:https://www.haomeiwen.com/subject/jqunaxtx.html