On our paid Apple Developer Program account (role: Account Holder/Admin), the Call Directory capability toggle does not appear on any iOS App Extension Identifier we create. Because of that, provisioning profiles for those extension IDs never include the Call Directory entitlement and the extension cannot be enabled on device. That is the only reason we tried to add manually which does not work.
Environment
Membership: Apple Developer Program (paid, active)
Xcode: [16.x]
iOS devices tested: iOS 18.4.1, 18.5 and 18.6.1
App type: iOS app + Call Directory extension
App Groups: enabled and working
What I am not seeing
In Certificates, Identifiers & Profiles → Identifiers → (iOS App ID, type App Extension), I expect to see a Call Directory capability toggle I can enable but it is not there
What actually happens
The Call Directory toggle is missing from the extension Identifier details page.
Profiles created for the extension ID don’t contain the Call Directory entitlement.
The extension never appears under Settings → Phone → Call Blocking & Identification.
Calling the API at runtime fails with com.apple.CallKit.error.calldirectorymanager error 1.
Evidence (redacted)
Signed entitlements of the built .appex do not contain a Call Directory key:
codesign -d --entitlements :- /path/to/YourExt.appex
Output only shows team/app-groups (no Call Directory entry).
The embedded mobileprovision lacks it as well:
security cms -D -i /path/to/YourExt.appex/embedded.mobileprovision >/tmp/ext.plist
/usr/libexec/PlistBuddy -c 'Print :Entitlements:com.apple.developer.callkit.call-directory' /tmp/ext.plist
→ key not found
Topic:
Code Signing
SubTopic:
Entitlements
Tags: