将用户名和密码保存在密钥链中,并将其用作自动填充



当用户已经拥有他们的帐户时,我正在尝试实现类似。当他们试图输入用户名和密码时,我需要显示底部弹出窗口来保存您的密码,就像我们登录safari时,网站要求保存我们的凭据一样。所以,如果用户点击保存,让它保存在钥匙链中。

下次用户点击用户名或密码时,将向用户提供自动填充凭据并选择其凭据。

我的代码:

let server = "www.workBro.com"
let userName = userNameTF.text
let passWrd = passwordTF.text
let password = passWrd?.data(using: String.Encoding.utf8)
var query: [String: Any] = [kSecClass as String: kSecClassInternetPassword,
kSecAttrAccount as String: userName,
kSecAttrServer as String: self.server,
kSecValueData as String: password]
let status = SecItemAdd(query as CFDictionary, nil)
if status == errSecSuccess {
print("success")
} else {
print("fail")
}

我的资历得到了保存,我获得了成功。但它确实要求我保存你的密码提示,就像我们在其他网站使用移动狩猎登录时得到的那样。

我遗漏了什么吗?

完整指南见文章iOS 12密码工具:提高用户安全性和体验:

1-从苹果开发者门户获取应用程序的标识符

2-在你的应用程序和苹果开发者门户网站上,你必须启用自动填充兼容性

3-在Web应用程序"Web服务器"中添加苹果应用程序站点关联支持应用程序中的关联域

4-在您的应用程序的功能上启用关联域

属性检查器中的5文本字段内容类型必须为用户名和密码

最新更新