.newPassword用于SecureField,以选择使用SwiftUI和iOS14不起作用的强密码



我正试图使用SwiftUI在SecureField中使用强密码建议功能,但它不起作用。只是想知道我是做错了什么,还是一个bug。

@State var password: String = ""
@State var confirmPassword: String = ""
var body: some View {

VStack {
SecureField("Password", text: $password) {
// do something
}
.textContentType(.newPassword)
SecureField("Confirm Password", text: $confirmPassword) {
// do something
}
.textContentType(.newPassword)
}
}

当我选择secureField时,它不建议使用强密码。

编辑:

经过进一步的测试和下面的评论,我添加了一个相关的域,并将以下web凭据文件上传到我的web服务器,例如.com/.apple-app-site-association.txt:

{
"webcredentials": {
"apps": [ " TEAMID.com.example.AppName" ]
}
}

我目前的功能是关联域和自动填充凭据提供程序设置为YES。

当我尝试使用强密码时,我会收到以下错误消息:

无法显示应用程序bundleID的自动强密码:com.example.AppName由于错误:无法识别调用应用的过程检查应用程序中的teamID和bundleID应用程序标识符授权

不确定从这里到哪里。

如果您已经用.newPassword和";关联域";相应地,登录时的自动填充和强密码建议应该在您的设备上运行

但请确保有一个iCloud帐户登录并启用iCloud钥匙串。如果不是这样,它不会建议使用强密码,因为它无法在设备之间同步密码。它将输出一些日志如下:

[AutoFill] Cannot show Automatic Strong Passwords for app bundleID:
com.example.signin-playground due to error: iCloud Keychain is disabled

此测试只能在真实设备上完成,因为您无法在模拟器中启用iCloud钥匙串。

如果希望建议使用新密码,则需要使用.newPassword文本内容类型。

.password用于输入现有密码。

相关内容

  • 没有找到相关文章

最新更新