實現此功能需要注意一下幾點:
- 需要有一個支持HTTPS協議的域名,因為App實現用戶名密碼自動匹配要和該網站關聯。
- 開啟iPhone的iCloud鑰匙串服務。
App內的設置
-
設置 TextField 的 ContentType
在iOS11中,TextContentType新增加了
Username
、Password
類型,我們只需要將相應的TextField設置為對應的ContentType即可。
2.png
?
設置完成后,用戶可以在輸入用戶名與密碼時,通過點擊QuickType bar右側的鑰匙串按鈕,在所有的保存的密碼中選擇要輸入的用戶名和密碼了(如下圖)。但是,這樣還不是很方便,如果用戶保存的密碼很多,需要在列表中查找也并不很方便。我們需要在QuickType的候選區列出用戶曾經在我們的網站保存過的密碼。
3.png
-
設置Associated Domains
webcredentials后填寫我們網站的Domain,即我們要關聯的域名。
4.png
-
登錄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的密碼都提示出來!!!