SecureField 的 .newPassword 选择强密码不使用 SwiftUI 和 iOS14
Posted
技术标签:
【中文标题】SecureField 的 .newPassword 选择强密码不使用 SwiftUI 和 iOS14【英文标题】:.newPassword for SecureField to choose Strong Password not working using SwiftUI and iOS14 【发布时间】:2021-03-14 02:23:48 【问题描述】:我正在尝试使用 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)
当我选择安全字段时,它不建议使用强密码。
编辑:
在下面的进一步测试和 cmets 之后,我添加了一个关联的域并将以下 Web 凭据文件上传到我的网络服务器,位于 example.com/.well-known/apple-app-site-association.txt:
"webcredentials":
"apps": [ " TEAMID.com.example.AppName" ]
我目前的功能是将关联域和自动填充凭据提供程序设置为 YES。
当我尝试使用强密码时,我收到以下错误消息:
无法显示 app bundleID 的自动强密码: com.example.AppName 由于错误:无法识别调用应用程序的 过程。检查应用程序中的 teamID 和 bundleID 应用程序标识符权利
不知道从这里去哪里。
【问题讨论】:
我正在处理确切的问题。我还在设置关联的域,现在使用这篇文章中的代码,我得到了一个自动填充选项,即使它是两个标记为 newPassword 的安全字段。您是否设置了关联域或试图在没有它的情况下完成这项工作? 这里也是一个相关问题:***.com/q/64839212/408286 如果我理解正确,您希望 SwiftUI 在字段中显示一个新的密码建议,但它不起作用,也许我可以通过这种方式帮助您,我们使用自定义方式制作密码建议。 @mota 我正在尝试不使用关联域,直到阅读您的评论才知道。我需要关联的域来完成这项工作吗?文档不是很详细,但没有提及相关域。 @alionthego 我认为需要关联域,因此 Keychain 知道要存储此密码的网站是什么,否则建议使用强密码而不将其保存在某处会很奇怪。问题是很难知道关联域设置是否正确,我认为这就是我的问题所在,也可能是您的问题所在。请参阅以下 WWDC 演讲,他们解释了这是如何工作的:developer.apple.com/videos/play/wwdc2017/206developer.apple.com/videos/play/wwdc2018/204 【参考方案1】:如果您想建议新密码,则需要使用.newPassword
文本内容类型。
.password
用于输入现有密码。
【讨论】:
对不起。我已经更新了帖子。我已经放了 .newPassword 但不工作。想知道是否其他人也有同样的问题。在模拟器和设备上。 是的。我在 Xcode 13.2 和 ios 15.2 中运行我的应用程序,我面临同样的问题。用于查看已保存密码的登录过程按预期工作。表示关联域配置良好。但是,当我在注册视图中使用 SecureField (SwiftUI) 在 TextContentType 中使用.newPassword
时,键盘不会显示应有的“密码”标题。以上是关于SecureField 的 .newPassword 选择强密码不使用 SwiftUI 和 iOS14的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 在禁用的 SecureField 中检测水龙头?
SecureField 的 .newPassword 选择强密码不使用 SwiftUI 和 iOS14
在 SwiftUI 视图中的 TextField 后面使用多个 SecureField 时的奇怪行为
SwiftUI SecureField:如何实现与 UIKit 中相同的字符模糊行为?