實現(xiàn)此功能需要注意一下幾點:
- 需要有一個支持HTTPS協(xié)議的域名,因為App實現(xiàn)用戶名密碼自動匹配要和該網(wǎng)站關聯(lián)。
- 開啟iPhone的iCloud鑰匙串服務。
App內的設置
-
設置 TextField 的 ContentType
在iOS11中,TextContentType新增加了
Username、Password類型,我們只需要將相應的TextField設置為對應的ContentType即可。
2.png
?
設置完成后,用戶可以在輸入用戶名與密碼時,通過點擊QuickType bar右側的鑰匙串按鈕,在所有的保存的密碼中選擇要輸入的用戶名和密碼了(如下圖)。但是,這樣還不是很方便,如果用戶保存的密碼很多,需要在列表中查找也并不很方便。我們需要在QuickType的候選區(qū)列出用戶曾經(jīng)在我們的網(wǎng)站保存過的密碼。

3.png
-
設置Associated Domains
webcredentials后填寫我們網(wǎng)站的Domain,即我們要關聯(lián)的域名。

4.png
-
登錄Apple開發(fā)者網(wǎng)站
確認
Associated Domains已經(jīng)啟用。同時,我們要記錄一下當前應用的Prefix,后面會用到。
1.png
網(wǎng)站端設置
- 新建文件,內容如下json格式文件:
{
"webcredentials":{
"apps":["YH6UHB9OL.com.tfkjLee.pass"]
//YH6UHB9OL是我們上面記錄下來的Prefix,com.tfkjLee.pass應用的 Bundle ID
}
}
保存文件,命名為
apple-app-site-association。重要的事情說一遍: 不要后綴名
-
我們需要在我們要關聯(lián)的網(wǎng)站上添加這個文件,路徑為
根目錄或者.well-known,放一個即可,路徑如下:https://www.baidu.com/.well-known/apple-app-site-association https://www.baidu.com/apple-app-site-association我們可以通過瀏覽器訪問上面的地址,確保剛才的文件可以通過瀏覽器下載。
結束語
完成以上的設置就可以實現(xiàn)密碼填充功能了,App QuickType的候選區(qū)列出密碼是和域名相關的,也就是說如果多個app用的同一個域名,那么系統(tǒng)會把這幾個app的密碼都提示出來!!!

