iOS 11 密码自动填充不会将密码保存到钥匙串

iOS 11 password autofill doesn't save password to the Keychain

我正在使用 iOS 应用程序中的 Password Autofill 功能。

我已将所需的 textContentType 属性分别设置为 usernamepassword。 另外,我在 iOS 设置中启用了 iCloud 钥匙串。

栏出现,我可以使用其他应用程序的凭据填写登录表单。但是,我无法保存输入的凭据。

是否可以将凭据保存到钥匙串而不将应用程序与网站相关联,如 WWDC 会话中所示?

不,如果不关联域,则无法将凭据添加到 ICloud 钥匙串。 Apple 需要它来识别和建议基于该注册域的凭据。

看起来此功能自 IOS 8 以来就存在,在 IOS 11 中,他们刚刚更新了它,通过在 uitextinputtraits 中添加 textContentType 并使流程自动化来使其更容易有点。

您可以使用 Security.SecSharedCredentials API 管理 Icloud 钥匙串凭据

SecAddSharedWebCredential - 您可以提供您的域 (yourwebsite.com)、用户名和密码作为要保存在 ICloud 钥匙串中的参数。从外观上看,它会显示一个 alertView 以确认 save/update。