【发布时间】:2020-11-14 22:19:04
【问题描述】:
注意:此错误已在 Xcode 13.0 beta 3 中修复
在视图中跟随 TextField 时尝试使用多个 SecureField 时,我遇到了非常奇怪的行为。尝试在其中一个 SecureField 中输入文本会在一个字符处停止,该字段变为黄色并显示“强密码”,并在第二个 SecureField 中重复。这发生在 Xcode 12.2 中的 iOS 14.2 上的 Xcode 预览和模拟器中。
这是一个演示该问题的最小示例:
struct SecureFieldTestView: View {
@State var displayName: String = ""
@State var password = ""
@State var passwordVerifiation = ""
var body: some View {
VStack {
TextField("Display name", text: $displayName)
SecureField("Password", text: $password)
SecureField("Verify Password", text: $passwordVerifiation)
}
.padding()
}
}
struct SecureFieldTestView_Previews: PreviewProvider {
static var previews: some View {
SecureFieldTestView()
}
}
运行模拟器时控制台显示如下错误:
[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: <REDACTED BY ME> due to error: iCloud Keychain is disabled
[Assert] View <(null):0x0> does not conform to UITextInput protocol
我已尝试将 SecureFields 包装到它们自己的 VStack{} 中并将它们全部包装到一个 Form{} 中,但问题仍然存在。
我是否缺少明显的东西,或者这是 SDK 中的错误?
【问题讨论】:
-
这似乎又是 SwiftUI 中的一个非常好的错误.. 可能会提交错误报告
-
归档于 FB8897960
-
2021 年在 Xcode 13.0 (13A233) 中遇到同样的问题。我计划将我的 Xcode 更新到最新版本,看看这个 bug 是否仍然存在。
-
在 Xcode 13.1 (13A1030d) 中遇到同样的问题 :(
标签: swiftui