We are developing GateCall, an iOS application that uses a Call Directory extension to maintain a private, user-selected list of blocked telephone numbers.
We are seeking clarification about Call Directory blocking precedence on iOS 27.0.1, particularly when a number exists in Contacts or outgoing Recents.
Test environment
Physical iPhone 11 Pro Max running iOS 27.0.1.
Call Directory extension enabled in Settings.
Blocking entry: a valid Canadian telephone number normalized to E.164 and submitted as an Int64.
CXCallDirectoryManager.reloadExtension returned successful completion.
The application reported synchronization of one blocking entry.
Actual extension-loaded entry count has not been independently verified.
Observed sequence — November 1, 2026
The target number was initially present in iPhone Contacts.
At 2:01 PM, the application reported successful Call Directory synchronization.
At 2:06 PM, the iPhone placed an outgoing call to the target number.
At 2:16 PM, an incoming cellular call from the same number caused the iPhone to ring.
The call subsequently appeared in Phone → Recents as a missed call.
We reviewed the September 2025 Apple DTS discussion:
https://developer.apple.com/forums/thread/800415
That discussion describes a caller-information priority hierarchy and changes in iOS 26 affecting outgoing Recents.
Questions
Does iOS 27.0.1 intentionally prioritize Contacts and outgoing Recents over explicit blocking entries supplied by a third-party Call Directory extension?
Is there a supported public API or configuration that allows a user-selected Call Directory block to take precedence over those sources?
Is this priority behaviour documented or expected to change in future iOS releases?
Is there a supported diagnostic mechanism to verify which blocking entries were actually loaded by iOS, beyond successful extension reload completion?
We understand that a successful reload does not independently prove that a particular number was loaded or that Call Directory caused the observed behaviour.
Our objective is to implement accurate, user-controlled blocking and avoid claiming protection that the operating system cannot guarantee.
Any clarification from Apple DTS or developers with recent iOS 27 experience would be appreciated.
1
0
129