我们的UI测试套件显示了一些意外行为,其中“创建密码”屏幕会间歇性地自动完成用户名和密码,这会导致测试失败。
过程类似于:
最后一步失败,因为两个字段中的密码均已自动完成。
这种情况每十到二十次执行一次。
我们的理解是,密码自动填充功能永远都不会在任何模拟器中被看到,因此完全看不到它非常令人困惑。我们可以做些什么来额外禁用自动填充功能,否则可以防止这种情况的发生?
答案 0 :(得分:12)
答案 1 :(得分:4)
不确定从开始就是否如此,但是设置isSecureTextEntry = true
也足以触发该错误(至少在Xcode 12.2中如此)。
因此,对我有用的解决方法是:
let field = UITextField()
if #available(iOS 11.0, *) {
#if targetEnvironment(simulator)
// Do Not enable '.password' or '.newPassword' or 'isSecureTextEntry' text content type on simulator as it ends up with annoying behaviour:
// 'Strong Password' yellow glitch preventing from editing field.
print("Simulator! not setting password-like text content type")
#else
field.textContentType = .password
field.isSecureTextEntry = true
#endif
}
field.placeholder = "Password"
答案 2 :(得分:4)
有同样的问题。对我有用的是进入模拟器的设置->密码->打开,然后关闭自动填充密码。
答案 3 :(得分:-1)
答案 4 :(得分:-2)
这是一个iOS 14错误,仅当您在模拟器上运行应用程序时才会出现。修复此问题的方法是安装iOS 13.7:
打开您的Xcode: Xcode->首选项->组件
...在模拟器上选择,下载并安装iOS 13.7操作系统。然后再次运行您的应用程序。您可以在模拟器顶部的标签上检查您的iOS版本(确保运行正确的iOS版本!)