启用关联域,它启用com.apple.SafariKeychain

时间:2016-05-20 23:57:48

标签: ios xcode

我在Xcode中启用了功能中的关联域,并按预期创建了“.entitlements”文件。但它还修改了project.pbxproj文件,添加了com.apple.SafariKeychain = {enabled = 1;}

所以我只是好奇,为什么启用它,是否因某种原因有用?

我找不到任何关于此的文档。

1 个答案:

答案 0 :(得分:6)

注意:针对iOS 12进行了更新

该权利用于多种用途。它涵盖了您的应用程序需要与Web域建立经过验证的连接的任何功能。此验证是通过在域的根级别放置一个静态JSON文件(名为apple-app-site-association)来完成的,该文件包含应用程序的完全限定的App ID,其中包含用于启用特定功能的密钥和配置。

它涵盖了一些实际的iOS功能:

  • Shared Web Credentials. 标识符com.apple.SafariKeychain实际上是指关联域功能的原始用途,该功能用于启用本机应用访问存储在iCloud Keychain中的凭据,以用于您的网络域。如果用户已登录您的网站并将其密码保存在iCloud Keychain中,则此功能允许您的本机应用使用这些存储的凭据。
  • Password AutoFill. 在iOS 12中可用。 密码自动填充功能使用共享Web凭据添加到网站的行为,并扩展它以健壮的方式进入本机应用程序。通过为您的app建立Associated Domains,并在文本字段中添加元数据,iOS可以自动将保存的Web凭据输入到您的本机应用程序中。在创建新帐户或更改密码时,密码自动填充可以根据您组织的密码规则提供强大的密码建议。它还可以通过自动填写通过短信发送的多重身份验证代码来帮助用户,如果它可以找到指定用于输入该信息的字段。
  • Universal Links. 最简单的说,此功能可以安全地替代从另一个应用程序或Web链接启动一个应用程序的旧的基于自定义方案的方法。在最充分利用时,它允许您在您的网站的信息架构和本机应用程序之间绘制相似之处。当用户点击您的域的Web链接时,可以启动您的本机应用程序以处理该链接。如果未安装该应用程序,则会向智能横幅显示指向App Store的链接。
  • Web Browser–to–Native App Handoff. 这是Universal Links的被动版本。如果用户在macOS或iOS设备上浏览您的网站,并且您为他们正在查看的页面创建了网站关联,他们会在iOS锁定屏幕上看到一个Handoff图标,这将让他们打开您的应用,可选择导航到他们正在查看的网页的原生版本。