CallKit blocked call remains Missed Calls

I’m currently developing a spam number blocking app using CallKit. I’ve confirmed that up to iOS 26 beta 5, there is a bug where number blocking doesn’t work.

In my current tests, the ringtone doesn’t sound and the blocking works fine, but the call still appears in the missed calls list, which is bothersome. If the bug is fixed in future versions (as it was in previous versions), is there a way to block the number so that it also does not appear in missed calls?

Answered by DTS Engineer in 853188022

is there a way to block the number so that it also does not appear in missed calls?

No. As part of the expansion of call blocking APIs, an interface choice was made so that the missed call list will show blocked number and describe which app blocked them.

Also, exactly how many blocked numbers can be registered in CallKit’s block number list?

That number is not formally documented, however, you can easily determine it for yourself by inserting block entries until the API fails and returns "CXErrorCodeCallDirectoryManagerError.Code.maximumEntriesExceeded". Informally, I believe the current max is ~2 million numbers though, of course, that number could change at any time (since it is not formally documented).

Having said that, if you expect to get anywhere CLOSE to that limit, I would suggest moving to a different technology like Live Caller ID.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Also, exactly how many blocked numbers can be registered in CallKit’s block number list?

is there a way to block the number so that it also does not appear in missed calls?

No. As part of the expansion of call blocking APIs, an interface choice was made so that the missed call list will show blocked number and describe which app blocked them.

Also, exactly how many blocked numbers can be registered in CallKit’s block number list?

That number is not formally documented, however, you can easily determine it for yourself by inserting block entries until the API fails and returns "CXErrorCodeCallDirectoryManagerError.Code.maximumEntriesExceeded". Informally, I believe the current max is ~2 million numbers though, of course, that number could change at any time (since it is not formally documented).

Having said that, if you expect to get anywhere CLOSE to that limit, I would suggest moving to a different technology like Live Caller ID.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I have no idea why Apple still does not let us block numbers using simple prefixes in 2025. If I want to block a full number range, say +1-212-#######, I should simply be able to enter +1212 (and perhaps enable a flag) and be done with it.

I agree with you. However, while developing the app, I realized that comparing more than ten million numbers every time a call comes in wouldn’t be an easy task either.

CallKit blocked call remains Missed Calls
 
 
Q