iosprovisioning-profilecallkit

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


I'm working on an out-sourced application for a company and when a version of it built using ids and provisioning profiles from my Apple account it runs without problems. However when it is built and run using the company's ids and provisioning profiles I am seeing an issue with it.

What is happening is when a notification service extension uses a call extension then the OS logs the following:

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.

I noticed that in the company's provising profile for the notification service extension the app identier prefix is different from the team identifer. In my own provisioning profile the app identifier prefix and team identifer are the same. Could it be the case that this difference in identifiers within the provisioning profile is leading to the sandbox error message? Attached is the notification service extension provisioning profle provided to me by the company (converted to a .plist for readability)

provisioning profile


Solution

  • Yes, the provisioning profile for the push extension and the app should be for the same app and use the same certificate and from the same team.

    You should ask them to export their certificate & private key to you. And then either download the provisioning profiles from their iOS dev center or generate one if you have access to their portal.