通知服务扩展无法使用呼叫扩展,配置文件团队 ID 与应用程序前缀 ID 不同

Notification Service Extension unable to use Call Extension, profile team id differs from app prefix id

我正在为一家公司开发外包应用程序,当它的一个版本使用我的 Apple 帐户的 ID 和配置文件构建时,它 运行 没有问题。 但是,当它构建并 运行 使用公司的 ID 和配置文件时,我发现它存在问题。

当通知服务扩展使用呼叫扩展时,OS 会记录以下内容:

doQueryCallExtensionStatusWithDispatchGroup() COMPLETED WITH ERROR: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.CallKit.CallDirectory was invalidated: failed at lookup with error 159 - Sandbox restriction." UserInfo=
NSDebugDescription=The connection to service named com.apple.CallKit.CallDirectory was invalidated: failed at lookup with error 159 - Sandbox restriction.

我注意到在公司为通知服务扩展提供的配置文件中,应用标识符前缀与团队标识符不同。在我自己的配置文件中,应用程序标识符前缀和团队标识符是相同的。可能是供应配置文件中标识符的这种差异导致了沙箱错误消息吗? 附件是公司提供给我的notification service extension provisioning profile(为便于阅读转换为.plist)

是的,推送扩展和应用程序的配置文件应该用于同一个应用程序,使用相同的证书并且来自同一个团队。

您应该要求他们将他们的证书和私钥导出给您。然后从他们的 iOS 开发中心下载配置文件,或者如果您可以访问他们的门户,则生成一个配置文件。