繁体   English   中英

SecureField 的 .newPassword 选择强密码无法使用 SwiftUI 和 iOS14

[英].newPassword for SecureField to choose Strong Password not working using SwiftUI and iOS14

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

@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)
    }
}

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

编辑:

在下面的进一步测试和评论之后,我添加了一个关联的域并将以下 web 凭据文件上传到我的网络服务器 example.com/.well-known/apple-app-site-association.txt:

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

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

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

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

不确定从这里到 go 的位置。

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

.password用于输入现有密码。

如果您使用.newPassword和“关联域”适当地设置了 SecureFields,登录时自动填充和强密码的建议应该可以在您的设备上使用。

但请务必登录 iCloud 帐户启用 iCloud 钥匙串 如果不是这种情况,它不会建议使用强密码,因为它无法跨设备同步它们。 它将 output 一些日志如下:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM