无法为 app bundleID 显示自动强密码

Chr*_*ris 29 passwords entitlements ios swift

这是完整的error-message

无法显示应用程序 bundleID 的自动强密码:com.ckbusiness.Wishlists 由于错误:无法识别调用应用程序的进程。检查应用程序标识符权利中的 teamID 和 bundleID

在此处输入图片说明

我在这里错过了什么?

Mar*_*ijn 23

我们在 Xcode 12.2 和 iOS 14.2 上遇到了同样的问题,并在Apple Developer forum上应用了更多详细信息。

这可以相关吗?关联域文件的文档在底部显示了一个关于 macOS 11 和 iOS 14 的新部分:

从 macOS 11 和 iOS 14 开始,应用程序不再直接向您的网络服务器发送对 apple-app-site-association 文件的请求。相反,他们将这些请求发送到专用于关联域的 Apple 管理的内容交付网络 (CDN)。

更新 - 12 月 3 日:

我们检查了很多东西:

代码签名

我们的目标设置为“自动管理签名”。在 App Store connect 中,我们查找了权限:

  1. 选择应用
  2. 选择“活动”
  3. 选择构建
  4. 向下滚动到“商店信息”,右列显示权利

com.apple.developer.team-identifier前缀的匹配application-identifier。后者与我们网站上apple-app-site-association文件中apps数组中的值完全匹配。

但是,在设备上使用 Xcode 执行构建和运行时,调试应用程序使用不同的签名标识进行签名

Apple 开发:(除 之外的其他 ID com.apple.developer.team-identifier

据估计,这会导致与apple-app-site-association文件不匹配。因此,我们将这个新 id 添加到现有的apple-app-site-association文件并上传到我们的服务器上:

{
   "webcredentials": {
       "apps": ["ABCDEF1234.com.domain.appName", // Release ID from App Store
                "1234ABCDEF.com.domain.appName"] // Debug ID from Xcode
    }
}
Run Code Online (Sandbox Code Playgroud)

又试了一遍,还是同样的错误。还执行了通常的事情,例如:

  1. 从 iPhone 卸载应用程序并重新启动 iPhone
  2. 在 Xcode 中清理构建文件夹
  3. /Users/xxx/Library/Developer/Xcode 中删除 Xcode 文件夹DerivedData并重新启动 MacBook

apple-app-site-association文件的可用性

在我们的服务器上更新此文件时,我们发现了一个文档更新。在 2019 年 6 月(当我们启动这个特定的应用程序时),它提到将文件放在 2 个文件夹中:

  • https://<fully qualified domain>/apple-app-site-association
  • https://<fully qualified domain>/.well-known/apple-app-site-association

注意:目前只.well-known提到了后面的目录。

看来我们的文件只在第一个文件夹中。所以我们复制它并再次检查,但仍然显示错误。

为了排除 iOS 14基于新的 Apple 管理的内容交付网络 (CDN)更新apple-app-site-association文件的更改需要时间,我们甚至使用了 entitlements 文件中的mode 选项

在开发应用程序时,如果无法从公共 Internet 访问您的 Web 服务器,您可以使用备用模式功能绕过 CDN 并直接连接到您的私有域。您可以通过将查询字符串添加到关联域的权利来启用备用模式,如下所示:

webcredentials:doamin.com?mode=developer

再一次,没有运气。

测试版

为避免使用 Xcode 调试器及其调试签名,将 Xcode 12.2 版本存档并将其提交到 App Store。如上所述在 App Store Connect 中验证来自构建的权利。它们匹配apple-app-site-association文件。

发布用于内部 TestFlight 测试并在设备上进行测试。点击第一个密码文本字段不会显示密码建议。

结论

尽管我们似乎别无选择,但希望这些练习中的任何一个都可以激励其他人找到解决方案。或者它只是一个巨大的 Apple 错误,我们需要等待他们的修复。

  • 就我而言,情况更糟。我得到的建议不是自动填充根本不显示,而是好像我已将“textContentType”设置为“.username”。基本上,iOS 键盘会为我的密码文本字段建议一个用户名。恶心——苹果请修复。 (3认同)
  • 也在最新的 iOS 14.3 beta 3 上进行了验证,不再建议使用密码。 (2认同)