美文网首页IOS知识积累
iOS12自动填充账户密码,提示保存账户和密码

iOS12自动填充账户密码,提示保存账户和密码

作者: ShanJiJi | 来源:发表于2018-10-22 18:01 被阅读174次

    在iOS11中,Apple已经做了启发式功能,可以让开发者在无感知的情况下,支持密码的快速填充,但是为了更好的用户体验和降低未来版本中可能出现的bug,建议对不同的功能做一些额外的步骤配置. 默认效果是这样的,QuickType Bar上没有关联域的账户密码可选

    图片.png

    工作原理

    iOS会自动推断登录场景
    检查关联的域是否有效合格,从iCloud 钥匙串中筛选出符合的账户和密码显示在QuickType Bar
    根据设定输入框的textContentType类别,找到用户名和密码输入框,在用户点击QuickType Bar上的账户密码是填充到对应位置
    检测登录操作,在登录页面要从视图层次结构中移除的时候,提示是否保存/更新账户密码
    

    开发人员需要配置的步骤

    Associated Domains
    设置UITextField的textContentType为对应类型
    

    1.在苹果开发者后台开启APP的Associated Domains服务

    1. 设置Associated Domains
    图片.png

    Xcode中项目配置,开启Domains,点击"+"添加一项, webcredentials:后面的"coderxllau.github.io"改为自己关联的域,例如webcredentials:www.baidu.com

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

    登录Apple开发者网站,

    图片.png 图片.png 图片.png

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

    网站的设置

    1. 新建一个文件,名为apple-app-site-association,无后缀。内容如下
    {
        "webcredentials":{
            "apps":["${Prefix}.com.zlucy.Autofill-Demo"] //${Prefix}处填写我们上面记录下来的Prefix,后加上需关联的应用的 Bundle ID
        }
    }
    

    保存文件,命名为apple-app-site-association

    1. 我们想要在APP里打开的页面或者Action,域名选定的static.mydomain.com这个子域名。是将此文件扔到服务器域名解析的根目录下。即 http://static.mydomain.com/apple-app-site-association 是能访问的,会将此文件下载到本地。

      这还不够。我们需要https,而不是http。
      我们需要在我们要关联的网站上添加这个文件,路径如下:

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

    网站设置完成。

    再次运行我们的App,App会在启动时访问如上的地址进行验证,验证通过后,就可以看到如效果图一样的功能了。

    相关文章

      网友评论

        本文标题:iOS12自动填充账户密码,提示保存账户和密码

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