Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set a PasswordField to secureTextEntry give me a strange behaviour

Tags:

ios

swift

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...

like image 907
El-Burritos Avatar asked Oct 12 '18 00:10

El-Burritos


5 Answers

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.

like image 197
Darren Black Avatar answered Oct 24 '22 09:10

Darren Black


In our case we had another text field on same screen with content type Email Address, changing that to Username magically solved the problem.

like image 33
Mojtaba Avatar answered Oct 24 '22 09:10

Mojtaba


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

like image 4
TDesign Avatar answered Oct 24 '22 09:10

TDesign


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
like image 4
Adwait Gaikwad Avatar answered Oct 24 '22 08:10

Adwait Gaikwad


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.

like image 2
Hamid Reza Ansari Avatar answered Oct 24 '22 08:10

Hamid Reza Ansari