无法显示应用程序bundleID的自动强密码 [英] Cannot show Automatic Strong Passwords for app bundleID

查看:74
本文介绍了无法显示应用程序bundleID的自动强密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是完整的错误消息:

由于错误,无法显示应用程序包ID:com.ckbusiness.Wishlists的自动强密码:无法识别呼叫者应用程序的过程.检查您应用程式中的teamID和bundleID应用程序标识符的权利

Cannot show Automatic Strong Passwords for app bundleID: com.ckbusiness.Wishlists due to error: Cannot identify the calling app's process. Check teamID and bundleID in your app's application-identifier entitlement

我在这里想念什么?

推荐答案

我们在Xcode 12.2和iOS 14.2中存在相同的问题,并在

We have the same issue with Xcode 12.2 and iOS 14.2 and applied more details on the Apple Developer forum.

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

Can this be related? The documentation of the Associated Domain File shows a new section at the bottom about macOS 11 and iOS 14:

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

Starting with macOS 11 and iOS 14, apps no longer send requests for apple-app-site-association files directly to your web server. Instead, they send these requests to an Apple-managed content delivery network (CDN) dedicated to associated domains.

更新-12月3日:

我们检查了很多事情:

代码签名

Code signing

我们的目标设置为自动管理签名".在App Store connect中,我们查找了权利:

Our target is set to "Automatically managing signing". In App Store connect we looked up the the entitlement:

  1. 选择应用
  2. 选择活动"
  3. 选择一个版本
  4. 向下滚动到商店信息",右列显示权利.

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

The com.apple.developer.team-identifier matches the prefix in the application-identifier. The latter matches exactly with the value in the apps array in the apple-app-site-association file on our website.

但是,当执行Build&在设备上使用Xcode运行时,调试应用为

However, when performing Build & Run with Xcode on device, the debug app is signed with a different Signing Identity:

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

Apple Development: (other ID than com.apple.developer.team-identifier)

估计的猜测是,这会与 apple-app-site-association 文件不匹配.因此,我们将此新ID添加到现有的 apple-app-site-association 文件中,并上传到我们的服务器上:

An estimated guess is that this would create a mismatch with the apple-app-site-association file. Hence we added this new id to the existing apple-app-site-association file and uploaded on our server:

{
   "webcredentials": {
       "apps": ["ABCDEF1234.com.domain.appName", // Release ID from App Store
                "1234ABCDEF.com.domain.appName"] // Debug ID from Xcode
    }
}

再次尝试,仍然是相同的错误.还执行了以下常规操作:

Tried again, still the same error. Also performed the usual stuff like:

  1. 从iPhone卸载应用程序,然后重新启动iPhone
  2. 使用Xcode清理构建文件夹
  3. /Users/xxx/Library/Developer/Xcode 中删除Xcode文件夹 DerivedData ,然后重新启动MacBook
  1. Uninstall app from iPhone and reboot iPhone
  2. Clean Build Folder in Xcode
  3. Delete Xcode folder DerivedData from /Users/xxx/Library/Developer/Xcode and rebooted MacBook

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

Availability of apple-app-site-association file

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

While updating this file on our server, we found a docu update. In June 2019 (when we launched this particular app) it mentions to place the file in 2 folders:

  • https://<完全限定的域>/apple-app-site-association
  • https://<完全限定的域>/.well-known/apple-app-site-association

注意:目前仅提到了更高版本的.众所周知的目录.

Note: Currently only the later .well-known directory is mentioned.

似乎我们的文件仅在第一个文件夹中.因此我们复制了它并再次检查,但仍然显示错误.

It appeared that our file was only in the first folder. So we duplicated it and checked again, but still the error is shown.

要排除iOS 14基于新的Apple托管的内容分发网络(CDN)更新 apple-app-site-association 文件的更改所花费的时间,我们甚至使用了 mode 中的选项权利文件:

To rule out that it takes time for iOS 14 to update changes of the apple-app-site-association file based on the new Apple-managed content delivery network (CDN), we even used the mode option in the entitlements file:

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

While you’re developing your app, if your web server is unreachable from the public internet, you can use the alternate mode feature to bypass the CDN and connect directly to your private domain. You enable an alternate mode by adding a query string to your associated domain’s entitlement as follows:

webcredentials:doamin.com?mode = developer

再次,没有运气.

TestFlight版本

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

To avoid using Xcode debugger and it's debug signing, archived the Xcode 12.2 build and submitted it to App Store. Verified the entitlements from the build in App Store Connect as described above. They match the apple-app-site-association file.

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

Released for internal TestFlight testing and tested on device. Tapping the first password text field does not show the password suggestion.

结论

尽管我们似乎没有选择余地,但希望这些练习中的任何一个都能启发其他人找出解决方案.还是只是一个巨大的Apple错误,我们需要等待它们的修复.

Although we seem out of options, hopefully any of these exercises can inspire others to identify a solution. Or it's just a massive Apple bug and we need to wait for a fix from them.

这篇关于无法显示应用程序bundleID的自动强密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆