对于一个小型编码项目,我手动在iPhone上手动安装了自制的颤音应用程序。该应用程序具有一个注册页,用户可以在其中填写其电子邮件和密码以注册该应用程序。为了启用iOS自动密码,我使用了Flutter AutofillGroup小部件,并向相应的Textfield提供了适当的自动填料:
return AuthScaffoldView(
title: 'Sign in',
child: Container(
color: Colors.white,
child: AutofillGroup(
child: Column(
children: [
CupertinoTextField(
onEditingComplete: () => FocusScope.of(context).unfocus(),
placeholder: 'Email',
keyboardType: TextInputType.emailAddress,
controller: model.editableUser.email,
autofillHints: [AutofillHints.email],
clearButtonMode: OverlayVisibilityMode.editing,
),
CupertinoTextField(
onEditingComplete: () => FocusScope.of(context).unfocus(),
placeholder: 'Wachtwoord',
controller: model.editableUser.password,
autofillHints: [AutofillHints.newPassword],
clearButtonMode: OverlayVisibilityMode.editing,
),
CupertinoTextField(...
当我在手机上运行该应用程序时,AutoFillHints按预期的textfield工作,但是在点击密码文本字段时,我会收到以下错误,作为Xcode输出:
email
.
i用适当的[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: {bundleID} due to error: Cannot identify the calling app's process. Check teamID and bundleID in your app's application-identifier entitlement
和
Signing & Capabilities
签署了我的应用程序(在Team
)中。有人知道这个错误来自何处吗?
我能够通过满足以下自动填充密码来处理iOS的以下先决条件来解决此问题:
Bundle Identifier
Associated Domains
文件,并将apple-app-site-association
权利添加到您的应用程序授权列表中。
授予您的应用程序的权利。
P。最新的Flutter 2.8.x包含一个错误,此处可以在此处讨论。Edit:使用颤动2.10.1修复了上述错误。
在上面Jjuice的答案中,密码文本字段也必须与用户名/电话/电子邮件文本字段(因此在具有IT的自动填料中)放在同一屏幕上。看来,如果密码字段独立存在 - 即使包裹在自动汇集中,iOS当前也不会将其视为注册表单。这给我带来了一个问题,因为我的应用程序的先前注册流程给了每个文本字段,这并不少见。我还将标志着我的情况下不需要自动填充凭证提供商来实现此功能。我相信只有在您构建第三方密码经理时才需要这是必需的。
您试图向用户指示密码是否足够强? 请在此处使用此软件包来执行此操作: