Ios 将PasswordField设置为secureTextEntry会给我一种奇怪的行为
我有一个Ios 将PasswordField设置为secureTextEntry会给我一种奇怪的行为,ios,swift,Ios,Swift,我有一个passwordField,我将它的issecurettententry设置为true以隐藏字符。但是,当我单击此密码字段时,日志中会出现以下错误: [AutoFill]无法显示应用程序bundleID:“myapp”的自动强密码,原因是错误:iCloud Keychain已禁用 键盘会自动从azerty变为qwerty 如果删除passwordField.issecurettentry=true,问题就会消失,但字符不会隐藏 这是我的密码: passwordField.borderSt
passwordField
,我将它的issecurettententry
设置为true
以隐藏字符。但是,当我单击此密码字段时,日志中会出现以下错误:
[AutoFill]无法显示应用程序bundleID:“myapp”的自动强密码,原因是错误:iCloud Keychain已禁用
键盘会自动从azerty变为qwerty
如果删除passwordField.issecurettentry=true
,问题就会消失,但字符不会隐藏
这是我的密码:
passwordField.borderStyle = UITextField.BorderStyle.none
passwordField.font = UIFont(name: "Avenir-Heavy", size: 13)
passwordField.autocorrectionType = UITextAutocorrectionType.no
passwordField.clearButtonMode = UITextField.ViewMode.whileEditing
passwordField.keyboardType = UIKeyboardType.default
passwordField.returnKeyType = UIReturnKeyType.done
passwordField.contentVerticalAlignment = UIControl.ContentVerticalAlignment.bottom
passwordField.isSecureTextEntry = true
我试过了,但没什么变化
如果没有iCloud钥匙链和将键盘更改为qwerty,我如何隐藏文本字段的字符?
我检查了其他答案,但没有什么与我的问题类似…您可能在关联文件中使用了错误的团队ID。团队ID不是XCode上“签名证书”下使用的团队ID。要查看您的团队ID,请转到您的帐户,在“会员资格”下。
这应该可以解决问题。我使用了错误的团队ID,遇到了同样的问题
使用上面的修复方法,只需遵循以下步骤:在我们的例子中,在同一屏幕上有另一个文本字段,内容类型为电子邮件地址
,将其更改为用户名
,神奇地解决了问题。当系统用户没有启用iCloud钥匙链时,就会发生这种情况。就像模拟器上经常出现的情况一样:)
我在模拟器上碰到这个,然后来到这里。在我的手机上试用过(iCloud Keychain已启用),但得到了以下结果:
[AutoFill]无法显示应用程序绑定ID的自动强密码:
您的.bundle.id出现错误:无法保存此应用的密码。制作
确保已为应用和自动填充设置关联域
密码已在“设置”中启用
这就是苹果酷酷的自动填充功能。这里描述了一些应该启用该功能的步骤。我在模拟器上运行应用程序时遇到了相同的问题。
将“自动更正”设置为“否”解决了我的问题。
我希望它能帮助你
textFieldPassword.autocorrectionType = .no
自动强密码:-启用iCloud钥匙链
如果用户在其iPhone中启用了iCloud钥匙链,则自动强密码建议会起作用
我通过以下步骤得以解决:-
- 去布景
- 点击用户名(苹果Id)
- 点击iCloud
- 轻敲钥匙链
- 启用iCloud密钥链
在我的例子中:我有4个字段(用户名-电子邮件传递-确认传递),当用户点击密码或确认密码字段时,键盘返回该错误并显示强烈的密码建议,不允许更改密码字段文本
解决方案:我将所有字段内容类型更改为(一次性代码),只需在密码和确认密码字段中设置(Secure Text Entry=true)。我借用了上面@Hamid Reza Ansari的答案,但还必须支持较旧的iOS版本,因此将其包装在一个条件中:
if #available(iOS 12.0, *) {
self.textContentType = .oneTimeCode
}
您可以忽略警告(或在设备上启用iCloud钥匙链)。我认为QWERTY键盘问题是一个问题,您所说的是正确的,但我认为它与错误没有任何关系:iCloud Keychain被禁用消息。这是问题的正确答案。问题中的错误消息与设备是否启用了iCloud钥匙链有关。与代码无关。很好的答案@DarreniCloud Keychain已启用,但仍然出现了此错误。我认为这是因为UITextContentType.username
和UITextContentType.newPassword
是AutoFill启发式的一部分。如果你的应用程序使用电子邮件作为用户名,那么苹果建议将文本字段的textContentType
设置为.username
,将keyboardType
属性设置为。emailAddress
。请参阅:在添加:field.textContentType=.none之后,这对我很有效