Reputation: 862
I have a passwordField
for which I set the isSecureTextEntry
to true
to hide the characters. But when I click on this passwordField
, the following error appears in the log:
[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: "myapp" due to error: iCloud Keychain is disabled
and the keyboard automatically changes from azerty to qwerty...
If I remove the passwordField.isSecureTextEntry = true
, the problem disappears, but the character are not hidden...
Here's my code :
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
I tested this answer but nothing changed.
How can I hide the character of my textField without iCloud Keychain and without change of keyboard to qwerty?
I checked other answers, but nothing is similar to my problem...
Upvotes: 33
Views: 25322
Reputation: 801
I borrowed @Hamid Reza Ansari's answer above, but also had to support older iOS versions, so wrapped it in a condition:
if #available(iOS 12.0, *) {
self.textContentType = .oneTimeCode
}
Upvotes: 0
Reputation: 1147
in my case: I have 4 fields (username-email-pass-confirm pass) and when the user tap on password or confirm password fields the keyboard return that error and show a strong password suggestion and don't let to change the password field text.
solution: I changed all fields Content type to (One Time Code) and just set (Secure Text Entry = true) in the password and confirm password fields.
Upvotes: 3
Reputation: 765
Automatic Strong Passwords :- Enable iCloud Keychain
Automatic Strong Passwords suggestion works if user has enabled the iCloud keychain in its iPhone.
I was able to solved by these following steps:-
Upvotes: 0
Reputation: 93
I was having same issue while i was running my application on the simulator. Setting autocorrection to no solved my issue. I hope it helps you.
textFieldPassword.autocorrectionType = .no
Upvotes: 4
Reputation: 1040
This happens when the system's user doesn't have iCloud Keychain enabled. As will often be the case on the Simulator :)
I ran into this on the simulator and came here. Tried it on my phone (where iCloud Keychain is enabled), and got this instead:
[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: your.bundle.id due to error: Cannot save passwords for this app. Make sure you have set up Associated Domains for your app and AutoFill Passwords is enabled in Settings
So this is Apple's cool AutoFill feature. There are some steps described here that should enable that.
Upvotes: 13
Reputation: 6044
In our case we had another text field on same screen with content type Email Address
, changing that to Username
magically solved the problem.
Upvotes: 11
Reputation: 597
You are probably using the wrong Team ID in your association file. The Team ID is NOT the one yo usee under "signing Certificate" on XCode. To check your team ID go to your ACCOUNT on https://developer.apple.com/ , under membership. That should solve it. I was using the wrong Team ID and was stuck with the same issue.
With the fix above, just follow this: https://robopress.robotsandpencils.com/strong-passwords-in-ios-12-8ec819b3b99
Upvotes: 4