iOS SecurityCodeAutoFill的使用

WWDC2018在6月份如期而來,也是到了繼續(xù)學(xué)習(xí)新功能的時(shí)期。今天分享下新的功能,關(guān)于登錄注冊(cè)時(shí)自動(dòng)填充/建議賬戶密碼及新特性讀取短信驗(yàn)證碼。

去年的WWDC中,我們可以借助系統(tǒng)提供的接口來實(shí)現(xiàn)自動(dòng)讀取鑰匙串中用戶已有賬戶密碼

代碼配置

let userTextField = UITextField() 
userTextField.textContentType = .username

let passwordTextField = UITextField() 
passwordTextField.textContentType = .password

Ps:如果有特殊要求,記得對(duì)鍵盤類型做修改。

今年,我們還可以像系統(tǒng)一樣給用戶提供建議密碼,而且我們可以自定義所提供的密碼的規(guī)則。這個(gè)可以用到我們的登錄注冊(cè)之中。

let userTextField = UITextField() 
userTextField.textContentType = .username
let newPasswordTextField = UITextField() 
newPasswordTextField.textContentType = .newPassword
let confirmNewPasswordTextField = UITextField() 
confirmNewPasswordTextField.textContentType = .newPassword

AutoFill will:

  • Infer the view controller type
  • Check eligibility based on associated domains Detect relevant sign up form elements Suggest a user name
  • Insert a strong password
  • Save the password after user signs up
    PS:上面這個(gè)是工作機(jī)制,可以適當(dāng)了解下,可能哪里出問題了就能從這上面找到原因

需要注意到是,蘋果提示說注冊(cè)為用戶提供建議密碼時(shí),用戶名與密碼應(yīng)在同一個(gè)界面,應(yīng)該很少有產(chǎn)品會(huì)把這些信息分離吧??。

配置建議密碼時(shí)需要給定密碼的規(guī)則,否則建議新密碼不會(huì)生效并提示錯(cuò)誤

let newPasswordTextField = UITextField()
...
let rulesDescriptor = "allowed: upper, lower, digit; required: [$];" 
newPasswordTextField.passwordRules = UITextInputPasswordRules(descriptor: rulesDescriptor)

Storyboard 配置

登錄的賬戶密碼配置
樣式
登陸的用戶名配置

這個(gè)是用戶名的配置,可以選擇e-mail、username等等等,具體的可以自己根據(jù)具體情況,或者都試試怎么用的~


登錄的密碼配置

登錄界面就是這么配置,非??焖?。重復(fù)的地方就不在標(biāo)記了,只對(duì)需要注意到地方標(biāo)記了一下。

注冊(cè)的賬戶密碼配置
注冊(cè)賬戶名

注冊(cè)的密碼

這個(gè)content type 是NewPassword 只有iOS12 下才有,而且在這下面多了一個(gè)Password Rule選項(xiàng),需要填入建議密碼的規(guī)則,這個(gè)rule下面簡(jiǎn)單說下。

Password Rule

這個(gè)規(guī)則是蘋果提供的,會(huì)生成20字節(jié)長(zhǎng)度的密碼,包含了大小寫,數(shù)字等??梢愿鶕?jù)蘋果給定的來只做相應(yīng)自己的密碼生成規(guī)則,但是又不建議這么做。因?yàn)楫?dāng)前默認(rèn)的密碼生成規(guī)則已經(jīng)是優(yōu)化的可以了,如果在此基礎(chǔ)上繼續(xù)限定的話,會(huì)使密碼的重復(fù)性增加,破解的難度降低。 除非有特殊需求,不然不建議在針對(duì)默認(rèn)規(guī)則做限制生成新的規(guī)則。
具體的可以去官網(wǎng)的規(guī)則生成工具那里看看。
Password Rules Validation Tool

Security Code AutoFill

我最喜歡的功能,幫助用戶直接從短信讀取驗(yàn)證碼,不用再看短信,記密碼,回App錄入這么麻煩了,有了這個(gè)就可以直接從系統(tǒng)讀取到短信的驗(yàn)證碼自動(dòng)填入,只需要?jiǎng)觿?dòng)你的手指頭~~~
看下蘋果的效果圖


收到短信

自動(dòng)提示~

代碼也非常簡(jiǎn)單

let securityCodeTextField = UITextField() 
securityCodeTextField.textContentType = .oneTimeCode

storyboard的配置與username沒有區(qū)別。其他的事情只需要等著系統(tǒng)幫你做就好了~,但是,是的還有但是,你必須使用系統(tǒng)鍵盤才會(huì)有這個(gè)提示。
我自己體驗(yàn)了一下,雖然Session演示中給的都是對(duì)英文的自然語言分析,其實(shí)對(duì)中文還算OK。截圖沒找到就不上了,大家可以升級(jí)下iOS 12找個(gè)webView 的登錄界面試一下,主流公司的產(chǎn)品基本都適配了。

設(shè)備間驗(yàn)證

Federated authentication,暫時(shí)這么叫吧,這個(gè)是我暫時(shí)沒法驗(yàn)證的,是各個(gè)設(shè)備之間做驗(yàn)證登錄等等一系列操作。等有機(jī)會(huì)繼續(xù)補(bǔ)充上去。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • 文章圖片上傳不正常,如需文檔,可聯(lián)系微信:1017429387 目錄 1 安裝... 4 1.1 配置探針... ...
    Mrhappy_a7eb閱讀 6,950評(píng)論 0 5
  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,236評(píng)論 3 119
  • 音樂震動(dòng)條(new:復(fù)制層) 自定義redLayer 通過代碼自動(dòng)布局父控件的高度 - 本身的高度 把layer添...
    彼岸的黑色曼陀羅閱讀 463評(píng)論 0 1
  • 自由寫作第二個(gè)月第16篇。 童年,什么東西是你渴望得到卻不曾得到的? 第一個(gè)瞬間跳到我頭腦里的是一盒泡泡糖,一盒里...
    守望智慧閱讀 697評(píng)論 1 5

友情鏈接更多精彩內(nèi)容