Cannot Show Automatic Strong Passwords for App Bundleid

Set a PasswordField to secureTextEntry give me a strange behaviour

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.

Cannot show Automatic Strong Passwords for app bundleID when signup

Automatic Strong Passwords suggestion works if user has enabled the iCloud keychain in its iPhone. I resolved this error by doing the following steps

How to enable iCloud keychain

  1. Go to the Setting
  2. Tap on UserName (Apple Id)
  3. Tap on iCloud
  4. Tap on keychain
  5. Enable iCLoud Keychain

Show Automatic Strong password iOS in Flutter app

I was able to solve this by meeting the following prerequisites for Autofill Strong Password to work on iOS:

  1. Set up Associated Domains: https://developer.apple.com/documentation/xcode/supporting-associated-domains. It involves serving an apple-app-site-association file from the root (or .well-known) directory of your webserver, and adding the Associated Domains entitlement to your list of app entitlements.
  2. Add the Autofill Credential Provider entitlement to your app.

PS. The latest Flutter 2.8.x contains a bug, which is discussed here https://github.com/flutter/flutter/issues/94043, so if you want to get it working you need to either downgrade to v.2.5.x or wait for the bug fix.

EDIT: With Flutter 2.10.1 the abovementioned bug is fixed.

Flutter iOS autofill strong password error

Ok this took me a while to work out. I used firebase to do this.

  1. Use Firebase Hosting
  2. On your computer do firebase init and set up hosting
  3. In the public folder create a folder called .well-known
  4. Add a file in the folder called apple-app-site-association
    Set this as your file

apple-app-site-association:

{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamID.com.your.app",
"paths": ["*"]
}
]
},
"webcredentials": {
"apps": ["teamID.com.your.app"]
}
}

in your firebase.json file add this

"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "/.well-known/apple-app-site-association",
"headers": [{"key": "Content-Type", "value": "application/json"}]
}
],
"appAssociation": "NONE"
}

run firebase deploy --only hosting

You can check your AASA is correct at https://branch.io/resources/aasa-validator/

If it is ok go to Xcode, in signing and capabilities add associated domains:

applinks:yourfirebasewebsite.com
webcredentials:yourfirebasewebsite.com

Make sure you delete your app off your phone

Move to your flutter project directory run:

flutter clean; flutter run --release


Related Topics



Leave a reply



Submit