在iOS 11中使用自动填充密码轻松登录

介绍

每当他们遇到登录屏幕时,用户都会在各处看到密码。 有时这会在他们中间造成某种烦恼。 苹果的默认浏览器(即Safari)保存了密码,用户可以使用iCloud将其与多个设备同步。 从iOS 11开始,Apple引入了一个新库,该库允许第三方应用自动填充密码。

密码自动填充功能允许用户通过与键盘上方显示的QuickType栏进行交互,将其登录凭据直接填写到您的应用中。

配置您的应用以进行自动填充

AutoFill将在iOS 11中的应用程序中自动运行。仍然有一些可用的技术可以确保您的应用程序可以在AutoFill上正常运行。 它在键盘上方显示了一个密码按钮,只需在文本字段上使用一些设置即可实现。 但是为了确保哪个密码属于您的应用程序,我们需要将其与我们的网站相关联,并将向用户建议该密码。

设置您的文本字段

您可以通过代码或使用Xcode的界面生成器为自动填充配置文本字段。 iOS 11提供了UITextContentType两个新属性,它们是:

 txtUsername.textContentType = .username 
txtPassword.textContentType = .password

之后,iOS将在键盘上方显示一个按钮,使用户可以从保存的列表中选择密码。 它也适用于多个登录屏幕。 现在,将您的网站与您的应用程序相关联,iOS可以通过该应用程序建议正确的密码。

设置您的应用以获取正确的密码建议

默认情况下,iOS 11将不显示与您的应用程序关联的密码,而是显示已保存密码的完整列表。 现在,您可以按照以下步骤操作,让iOS知道这些密码属于您的应用。 将您的应用与网站相关联,以便您获得仅与应用有关的密码建议。

要将您的应用程序与网站相关联,您将需要一个名为apple-app-site-association 。 这是在深层链接中使用的同一文件。 为此,您需要在我们的Xcode项目中启用关联域。 切换到Xcode项目设置,转到“ 功能”标签,然后打开“ 关联域” 。 在此添加您的网站网址。 假设您的网站域名是yourwebsite.com。 列出的域名应该是webcredentials:yourwebsite.com

在您的服务器上,添加apple-app-site-association文件。 它应该包含一个webcredentials部分,用于指定您的应用。 这是一个例子:

 { 
"webcredentials": {
"apps": [T7836PQ635.com.companyName.YourApp]
}
}

T7836PQ635.com.companyName.YourApp这些是与应用程序关联的详细信息。 您可以在Apple Developer Portal下找到它。 有关此的更多详细信息,请参阅创建和上传关联文件。

注意 :请勿将.json附加到apple-app-site-association文件名。

管理凭证

要添加,编辑或删除任何已保存的登录信息,请单击设置 > 帐户和密码 > 应用程序和网站密码。 如果Safari有任何保存的登录详细信息,您将在此处看到该信息。 点击编辑以选择多个要删除的登录项目,或向左滑动单个项目以删除单个登录。要添加新帐户,请点击添加密码。 您可以输入任何网站,用户名和密码。

您现在可以构建和运行项目了。 您将找到与您的应用程序关联的密码。