Display the system-calling UI for your app’s VoIP services and coordinate your calling services with other apps and the system using CallKit.

Posts under CallKit tag

124 Posts

Post

Replies

Boosts

Views

Activity

[iOS 26] For call reported in lockscreen, after updating the CXCallUpdate for an active callkit reported call with reportCallWithUUID:updated:. The display namer in the callkit UI is not getting updated.
For call reported in lockscreen, after updating the CXCallUpdate for an active callkit reported call with reportCallWithUUID:updated:. The display namer in the callkit UI is not getting updated. This issue exists from iOS 18 and later. Issue is always seen. Feedback updated with iOS 26 beta logs: FB13969440
1
0
186
Aug ’25
Video button on CallKit UI is disabled for Video VoIP call, only on notch devices.
We've observed an issue where the video button on the CallKit UI is disabled during Video VoIP calls. This issue appears to be specific to notch devices running SDK 26 and iOS 26 beta 7, specifically on iPhone 11. We have not seen this behavior on devices with Dynamic Island or on older iOS versions. For further details, please refer to the attached video and sysdiagnose file. : FB19827793 Our experimentation suggests this issue is exclusively present on non-Dynamic Island devices with iOS 26 beta.
3
0
261
Sep ’25
Default dialer abilities & limitations
I've been trying to understand what kind of UX is available if my app is using the default-dialer capability. I have found https://developer.apple.com/documentation/livecommunicationkit/preparing-your-app-to-be-the-default-dialer-app and I am in the EU. On android I built the UX I want and it's quite neat, so now I'm trying to work. out what I can get on iOS. Because the product is kind of worthless with just android. I have built a simple dialer ux with a numberpad, contact lookup etc. Then when the user presses the Call button does it have to pop up the system prompt "Call number"? Does it have to swap over to the system ui for the actual call? So there's no way to show information about the call, during the call? Or am I using the frameworks incorrectly? I am very new to iOS development. TrueCaller and others show validation, but as I understand it they pre-fetch all the data, I can't do that.
1
0
174
Aug ’25
Eligibility for Default Dialer Capability in EU
Hello, I noticed the new entitlement in iOS 26 under LiveCommunicationKit: Preparing your app to be the default dialer app. My question is about eligibility: If a developer account is registered in the EU, can any app add the Default Dialer capability, or is it restricted only to apps that provide real calling/communication functionality (e.g., WhatsApp, Telegram, Skype)? If granted, does this capability allow the app to make/receive cellular calls and access call history, or is it limited only to VoIP-style scenarios through CallKit integration? What are the minimum functionalities required to support this feature (e.g., having a dial pad, call history screen, etc.)? Why must the developer account be registered in the EU to use this entitlement? Thanks in advance for the clarification!
1
0
136
Aug ’25
Extension AppIcon (Call Directory) not showing (But home icon ok!)
The home AppIcon appears as it should but in settings I get the generic icon. I tried: giving the extension its own assets and AppIcon asset. giving the main app assets 2 targets, itself AND the extension setting AppIcon appearances to "none" and iOS "all sizes" and providing 29pt and the other sizes. Adding to info.plist and specifying "CFBundleIconFiles" Yes, nuked derived data, switched off phone, everything. Starting with just the standard 1024×1024 AppIcon (expecting Xcode to auto-generate all slices, including 29pt for Settings). It didn’t — Settings still shows the generic gear. Question: What should I do to make the extension’s icon show up in Settings? Environment • Xcode: 16.4 (16F6) • iOS: 18.5 (device) • Targets: iOS app + Call Directory extension • App icon pipeline: asset catalog (single-size initially, now legacy grid)
1
0
218
Sep ’25
[iOS 26] [CallKit] [SDK 26] Application got crashed while App was Inactive
The crash log, an IPS file, indicates a crash occurred at a specific time, with the exception backtrace pointing to _terminateAppIfThereAreUnhandledVoIPPushes. However, cross-reference with the SysDiagnose logs, there is no corresponding process or activity for the application at the reported crash time. The app was not active, nor was it woken up by any event. IPS file and SysDiagnose logs have been attached in the Feedback. Feedback - FB20044587
3
0
205
Sep ’25
INStartCallIntent requires unlock when device is face down with AirPods
When my Intents extension resolves an INStartCallIntent and returns .continueInApp while the device is locked, the call does not proceed unless the user unlocks the device. After unlocking, the app receives the NSUserActivity and CallKit proceeds normally. My expectation is that the native CallKit outgoing UI should appear and the call should start without requiring unlock — especially when using AirPods, where attention is not available. Steps to Reproduce Pair and connect AirPods. Lock the iPhone. Start music playback (e.g. Apple Music). Place the phone face down (or cover Face ID sensors so attention isn’t available). Say: “Hey Siri, call Tommy with DiscoMonday(My app name).” Observed Behavior Music mutes briefly. Siri says “Calling Tommy with DiscoMonday.” Lock screen shows “Require Face ID / passcode.” After several seconds, music resumes. The app is not launched, no NSUserActivity is delivered, and no CXStartCallAction occurs. With the phone face up, the same phrase launches the app, triggers CXStartCallAction, and the call proceeds via CallKit after faceID. Expected Behavior From the lock screen, Siri should hand off INStartCallIntent to the app, which immediately requests CXStartCallAction and drives the CallKit UI (reportOutgoingCall(...startedConnectingAt:) → ...connectedAt:), without requiring device unlock, regardless of orientation or attention availability when AirPods are connected.
1
0
374
Sep ’25
CallKit Call Blocking Not Working
I have also tested this on iOS 26 (Beta 9 and above), and the CallKit call blocking functionality is not working. Numbers that should be blocked still ring through. Caller Identification continues to function as expected, but blocking entries (addBlockingEntry) are ignored.
4
1
281
Sep ’25
[iOS 26 beta 9] App is moving to Background when user rejected the GSM cellular call.
We have an application WAVE PTT(Push to talk) and Application is in foreground state, When a user receives a cellular call and it is in the "ringing" state and application receives a VoIP APNS(video call) which is reported to CallKit. User rejects the Cellular call from CallKit UI, application Video call is also getting rejected (separate feedback - 19017978) and Here the issue is observed that an Application moved to background(OS26 beta 9). Issue is not observed in iOS 18 and older versions. Frequency : 1 out of 3. Please refer the sysdiagnose logs in below reported feedback ID. Feedback Ticket ID: 20187309 Syslogs Snippet reference: default 2025-09-10 12:30:06.991950 +0530 WAVE PTX 0x10e078100 - ApplicationStateTracker: UISceneDidEnterBackground
1
0
154
Sep ’25
Issues with Push Notifications and Call Implementation in Flutter App on iOS (Debug Works, Production/TestFlight Fails)
Hello Developers, I am currently developing a Flutter application where I am implementing both push notifications (for messages) and VoIP call notifications. The implementation works perfectly fine on Android. However, I am facing issues specifically on iOS in the following scenarios: Terminated State: When the app is terminated on iOS, neither call notifications nor message notifications are received. In the background state, things partially work, but in the terminated state, nothing comes through. Debug vs Production: In Debug mode, everything works as expected (both message and call notifications). Once I release the app to TestFlight (Production), the notifications completely stop working: Message notifications are not delivered at all. Call notifications also fail to appear in terminated state. Configuration Details: I have already configured APNs with .p8 key in Firebase. The required capabilities (Push Notifications, Background Modes → Remote notifications, VoIP, etc.) are enabled in Xcode. I also updated the AppDelegate.swift / Notification handling code for production environment. Despite these steps, the same issue persists in production/TestFlight. It seems like the issue is specifically related to production environment handling on iOS, since everything works in debug. My Question: What could be causing push notifications and call notifications to not work in the terminated state on iOS, especially in production/TestFlight builds? Are there additional configuration steps required for APNs, VoIP, or background handling in production that differ from debug mode? Any guidance or similar experiences would be really helpful. Thanks in advance for your support.
2
0
188
Sep ’25
CallKit answer screen video button
Hello, currently working on messenger with audio/video calls feature. Have found strange behavior, on some devices after accepting call via Lock Screen video button appears to be disabled. Tested on wwdc Speakerbox sample, same code iPhone 15 Pro (iOS 17.4.1) - video button disabled iPhone 14 (iOS 17.6.1) - video button active Here is my, configuration with supportVideo activated static let providerConfiguration: CXProviderConfiguration = { let configuration = CXProviderConfiguration() configuration.supportsVideo = true configuration.maximumCallGroups = 1 configuration.maximumCallsPerCallGroup = 1 configuration.supportedHandleTypes = [.generic] return configuration }() What can be the reason of this behavior? Thanks
1
0
110
Sep ’25
CallKit speaker problem
I’m developing a VoIP app that uses Linphone and CallKit. Everything works as expected until the user enables the speaker on the native CallKit screen. After that, all subsequent calls start with the speaker already on. Even if I call AVAudioSession.sharedInstance().overrideOutputAudioPort(.none), it gets overridden when the call starts (when Linphone begins playing the ringtone). I tested this behavior in WhatsApp, and it seems to work correctly there.
1
0
260
Sep ’25
Callkit call blocking problem
We tested call blocking on iOS 26 and noticed something strange: the call will not be blocked if an outgoing call was made to its number before. Nevertheless, it will be blocked if we delete the outgoing call record from the Phone.app Recents. This behavior looks like a bug and is unexpected when using our application. Was this a planned callkit change in iOS 26? Is it possible to get the correct call blocking behavior back? We set blocking rules with addBlockingEntry(withNextSequentialPhoneNumber:) and this problem is not present in iOS 18 and earlier. Thank you in advance
12
4
902
Dec ’25
CallKit requestTransaction error code 2
Hello, In production, a large number of users experience outgoing call reporting fails with the following error: com.apple.CallKit.error.requesttransaction Code=2 The iOS version doesn't matter, errors are present in v15-26 Details My CXProvider held as a global singleton, so it’s unlikely to be deinited. There is no explicit call to CXProvider.invalidate() in the app. If I manually invalidate the CXProvider, I observe the expected failure when trying to create an outgoing call (com.apple.CallKit.error.requesttransaction error 2). However, If I recreate the CXProvider after the error, outgoing calls are reported correctly. Many users trigger the providerDidReset delegate method (CXProviderDelegate) before this error. According to the documentation, providerDidReset can be called by the system, and we are supposed to end all active calls, but the documentation doesn't suggest recreating the CXProvider. Question Should I recreate CXProvider after providerDidReset and forget about that, or could this error be caused by something else?
5
0
453
Feb ’26
CallKit Caller ID not working in iOS 26
Currenty, I'm developing a blocking and call identity call. In iOS 18, everything works fine, I can show log to debug inside my Callkit extensions But when my app run in iOS 26, I cant even turn on my caller id extension, I'm not able to debug because I dont see any log from my extensions.
1
0
177
Sep ’25
CallKit UI not invoked after receiving VoIP Push – app killed with NSInternalInconsistencyException
Our VoIP app receives PushKit notifications successfully (callservicesd Delivering 1 VoIP payload appears in logs). However, the app is consistently terminated by the system when running in the background or killed state. The crash is caused by iOS expecting a reportNewIncomingCall to CallKit, but the system reports: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.' *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], PKPushRegistry.m:349 Key Observations: VoIP pushes arrive and are delivered to the app. In foreground, some methods work and CallKit UI sometimes appears. In background/killed state, app is always terminated before CallKit UI shows. Logs confirm the system requires CallKit to be reported immediately inside pushRegistry(_:didReceiveIncomingPushWith:for:completion:). Steps to Reproduce: Run the app with VoIP + CallKit integration. Put app in background (or kill it). Send a VoIP push. Observe system logs and crash: callservicesd: Delivering 1 VoIP payload(s) to application UrgiDoctor: Apps receiving VoIP pushes must post an incoming call via CallKit... error: Killing VoIP app because it failed to post an incoming call in time. Expected Behavior: On receiving a VoIP push, CallKit UI (Accept / Decline screen) should always appear. App should not be killed if reportNewIncomingCall is called in time. Actual Behavior: CallKit UI never appears in background/killed state. App is force-terminated by iOS before user can accept/decline the call. Request: Guidance on the correct sequence for calling reportNewIncomingCall and completionHandler() in pushRegistry. Clarification if any changes in iOS 17/18 affect PushKit + CallKit behavior. Best practices for ensuring CallKit UI always appears reliably after a VoIP push. Environment: iOS 18.5 Simulator + Device Xcode 16.4 Using PushKit + CallKit with VoIP entitlement
1
0
209
Sep ’25
[iOS 26] For call reported in lockscreen, after updating the CXCallUpdate for an active callkit reported call with reportCallWithUUID:updated:. The display namer in the callkit UI is not getting updated.
For call reported in lockscreen, after updating the CXCallUpdate for an active callkit reported call with reportCallWithUUID:updated:. The display namer in the callkit UI is not getting updated. This issue exists from iOS 18 and later. Issue is always seen. Feedback updated with iOS 26 beta logs: FB13969440
Replies
1
Boosts
0
Views
186
Activity
Aug ’25
Video button on CallKit UI is disabled for Video VoIP call, only on notch devices.
We've observed an issue where the video button on the CallKit UI is disabled during Video VoIP calls. This issue appears to be specific to notch devices running SDK 26 and iOS 26 beta 7, specifically on iPhone 11. We have not seen this behavior on devices with Dynamic Island or on older iOS versions. For further details, please refer to the attached video and sysdiagnose file. : FB19827793 Our experimentation suggests this issue is exclusively present on non-Dynamic Island devices with iOS 26 beta.
Replies
3
Boosts
0
Views
261
Activity
Sep ’25
Default dialer abilities & limitations
I've been trying to understand what kind of UX is available if my app is using the default-dialer capability. I have found https://developer.apple.com/documentation/livecommunicationkit/preparing-your-app-to-be-the-default-dialer-app and I am in the EU. On android I built the UX I want and it's quite neat, so now I'm trying to work. out what I can get on iOS. Because the product is kind of worthless with just android. I have built a simple dialer ux with a numberpad, contact lookup etc. Then when the user presses the Call button does it have to pop up the system prompt "Call number"? Does it have to swap over to the system ui for the actual call? So there's no way to show information about the call, during the call? Or am I using the frameworks incorrectly? I am very new to iOS development. TrueCaller and others show validation, but as I understand it they pre-fetch all the data, I can't do that.
Replies
1
Boosts
0
Views
174
Activity
Aug ’25
CallKit: Can an app auto-open after answering a VoIP call on lock screen?
Hi everyone, on iOS, when a VoIP call arrives and the user accepts it from the lock screen (after unlocking with Face ID/Touch ID), is there any way to automatically bring my app to the foreground and show the in-app call screen, instead of staying in the system CallKit UI?
Replies
5
Boosts
0
Views
369
Activity
Aug ’25
Eligibility for Default Dialer Capability in EU
Hello, I noticed the new entitlement in iOS 26 under LiveCommunicationKit: Preparing your app to be the default dialer app. My question is about eligibility: If a developer account is registered in the EU, can any app add the Default Dialer capability, or is it restricted only to apps that provide real calling/communication functionality (e.g., WhatsApp, Telegram, Skype)? If granted, does this capability allow the app to make/receive cellular calls and access call history, or is it limited only to VoIP-style scenarios through CallKit integration? What are the minimum functionalities required to support this feature (e.g., having a dial pad, call history screen, etc.)? Why must the developer account be registered in the EU to use this entitlement? Thanks in advance for the clarification!
Replies
1
Boosts
0
Views
136
Activity
Aug ’25
Extension AppIcon (Call Directory) not showing (But home icon ok!)
The home AppIcon appears as it should but in settings I get the generic icon. I tried: giving the extension its own assets and AppIcon asset. giving the main app assets 2 targets, itself AND the extension setting AppIcon appearances to "none" and iOS "all sizes" and providing 29pt and the other sizes. Adding to info.plist and specifying "CFBundleIconFiles" Yes, nuked derived data, switched off phone, everything. Starting with just the standard 1024×1024 AppIcon (expecting Xcode to auto-generate all slices, including 29pt for Settings). It didn’t — Settings still shows the generic gear. Question: What should I do to make the extension’s icon show up in Settings? Environment • Xcode: 16.4 (16F6) • iOS: 18.5 (device) • Targets: iOS app + Call Directory extension • App icon pipeline: asset catalog (single-size initially, now legacy grid)
Replies
1
Boosts
0
Views
218
Activity
Sep ’25
[iOS 26] [CallKit] [SDK 26] Application got crashed while App was Inactive
The crash log, an IPS file, indicates a crash occurred at a specific time, with the exception backtrace pointing to _terminateAppIfThereAreUnhandledVoIPPushes. However, cross-reference with the SysDiagnose logs, there is no corresponding process or activity for the application at the reported crash time. The app was not active, nor was it woken up by any event. IPS file and SysDiagnose logs have been attached in the Feedback. Feedback - FB20044587
Replies
3
Boosts
0
Views
205
Activity
Sep ’25
INStartCallIntent requires unlock when device is face down with AirPods
When my Intents extension resolves an INStartCallIntent and returns .continueInApp while the device is locked, the call does not proceed unless the user unlocks the device. After unlocking, the app receives the NSUserActivity and CallKit proceeds normally. My expectation is that the native CallKit outgoing UI should appear and the call should start without requiring unlock — especially when using AirPods, where attention is not available. Steps to Reproduce Pair and connect AirPods. Lock the iPhone. Start music playback (e.g. Apple Music). Place the phone face down (or cover Face ID sensors so attention isn’t available). Say: “Hey Siri, call Tommy with DiscoMonday(My app name).” Observed Behavior Music mutes briefly. Siri says “Calling Tommy with DiscoMonday.” Lock screen shows “Require Face ID / passcode.” After several seconds, music resumes. The app is not launched, no NSUserActivity is delivered, and no CXStartCallAction occurs. With the phone face up, the same phrase launches the app, triggers CXStartCallAction, and the call proceeds via CallKit after faceID. Expected Behavior From the lock screen, Siri should hand off INStartCallIntent to the app, which immediately requests CXStartCallAction and drives the CallKit UI (reportOutgoingCall(...startedConnectingAt:) → ...connectedAt:), without requiring device unlock, regardless of orientation or attention availability when AirPods are connected.
Replies
1
Boosts
0
Views
374
Activity
Sep ’25
CallKit Call Blocking Not Working
I have also tested this on iOS 26 (Beta 9 and above), and the CallKit call blocking functionality is not working. Numbers that should be blocked still ring through. Caller Identification continues to function as expected, but blocking entries (addBlockingEntry) are ignored.
Replies
4
Boosts
1
Views
281
Activity
Sep ’25
[iOS 26 beta 9] App is moving to Background when user rejected the GSM cellular call.
We have an application WAVE PTT(Push to talk) and Application is in foreground state, When a user receives a cellular call and it is in the "ringing" state and application receives a VoIP APNS(video call) which is reported to CallKit. User rejects the Cellular call from CallKit UI, application Video call is also getting rejected (separate feedback - 19017978) and Here the issue is observed that an Application moved to background(OS26 beta 9). Issue is not observed in iOS 18 and older versions. Frequency : 1 out of 3. Please refer the sysdiagnose logs in below reported feedback ID. Feedback Ticket ID: 20187309 Syslogs Snippet reference: default 2025-09-10 12:30:06.991950 +0530 WAVE PTX 0x10e078100 - ApplicationStateTracker: UISceneDidEnterBackground
Replies
1
Boosts
0
Views
154
Activity
Sep ’25
Issues with Push Notifications and Call Implementation in Flutter App on iOS (Debug Works, Production/TestFlight Fails)
Hello Developers, I am currently developing a Flutter application where I am implementing both push notifications (for messages) and VoIP call notifications. The implementation works perfectly fine on Android. However, I am facing issues specifically on iOS in the following scenarios: Terminated State: When the app is terminated on iOS, neither call notifications nor message notifications are received. In the background state, things partially work, but in the terminated state, nothing comes through. Debug vs Production: In Debug mode, everything works as expected (both message and call notifications). Once I release the app to TestFlight (Production), the notifications completely stop working: Message notifications are not delivered at all. Call notifications also fail to appear in terminated state. Configuration Details: I have already configured APNs with .p8 key in Firebase. The required capabilities (Push Notifications, Background Modes → Remote notifications, VoIP, etc.) are enabled in Xcode. I also updated the AppDelegate.swift / Notification handling code for production environment. Despite these steps, the same issue persists in production/TestFlight. It seems like the issue is specifically related to production environment handling on iOS, since everything works in debug. My Question: What could be causing push notifications and call notifications to not work in the terminated state on iOS, especially in production/TestFlight builds? Are there additional configuration steps required for APNs, VoIP, or background handling in production that differ from debug mode? Any guidance or similar experiences would be really helpful. Thanks in advance for your support.
Replies
2
Boosts
0
Views
188
Activity
Sep ’25
CallKit answer screen video button
Hello, currently working on messenger with audio/video calls feature. Have found strange behavior, on some devices after accepting call via Lock Screen video button appears to be disabled. Tested on wwdc Speakerbox sample, same code iPhone 15 Pro (iOS 17.4.1) - video button disabled iPhone 14 (iOS 17.6.1) - video button active Here is my, configuration with supportVideo activated static let providerConfiguration: CXProviderConfiguration = { let configuration = CXProviderConfiguration() configuration.supportsVideo = true configuration.maximumCallGroups = 1 configuration.maximumCallsPerCallGroup = 1 configuration.supportedHandleTypes = [.generic] return configuration }() What can be the reason of this behavior? Thanks
Replies
1
Boosts
0
Views
110
Activity
Sep ’25
CallKit speaker problem
I’m developing a VoIP app that uses Linphone and CallKit. Everything works as expected until the user enables the speaker on the native CallKit screen. After that, all subsequent calls start with the speaker already on. Even if I call AVAudioSession.sharedInstance().overrideOutputAudioPort(.none), it gets overridden when the call starts (when Linphone begins playing the ringtone). I tested this behavior in WhatsApp, and it seems to work correctly there.
Replies
1
Boosts
0
Views
260
Activity
Sep ’25
Callkit call blocking problem
We tested call blocking on iOS 26 and noticed something strange: the call will not be blocked if an outgoing call was made to its number before. Nevertheless, it will be blocked if we delete the outgoing call record from the Phone.app Recents. This behavior looks like a bug and is unexpected when using our application. Was this a planned callkit change in iOS 26? Is it possible to get the correct call blocking behavior back? We set blocking rules with addBlockingEntry(withNextSequentialPhoneNumber:) and this problem is not present in iOS 18 and earlier. Thank you in advance
Replies
12
Boosts
4
Views
902
Activity
Dec ’25
iOS 26 23A341 - CallDirectory does not block calls anymore
Hi, Since I updated my phone to 23A341, my Call filtering app is not blocking calls anymore. Same release checked on iOS 18 phone, it is working. I still see the callkit logs into the Console showing that numbers are loaded into the iOS-managed SQlite DB but the calls are not blocked nor identified. Anyone with the same issue? BR
Replies
5
Boosts
1
Views
364
Activity
Sep ’25
CallKit requestTransaction error code 2
Hello, In production, a large number of users experience outgoing call reporting fails with the following error: com.apple.CallKit.error.requesttransaction Code=2 The iOS version doesn't matter, errors are present in v15-26 Details My CXProvider held as a global singleton, so it’s unlikely to be deinited. There is no explicit call to CXProvider.invalidate() in the app. If I manually invalidate the CXProvider, I observe the expected failure when trying to create an outgoing call (com.apple.CallKit.error.requesttransaction error 2). However, If I recreate the CXProvider after the error, outgoing calls are reported correctly. Many users trigger the providerDidReset delegate method (CXProviderDelegate) before this error. According to the documentation, providerDidReset can be called by the system, and we are supposed to end all active calls, but the documentation doesn't suggest recreating the CXProvider. Question Should I recreate CXProvider after providerDidReset and forget about that, or could this error be caused by something else?
Replies
5
Boosts
0
Views
453
Activity
Feb ’26
CallKit Caller ID not working in iOS 26
Currenty, I'm developing a blocking and call identity call. In iOS 18, everything works fine, I can show log to debug inside my Callkit extensions But when my app run in iOS 26, I cant even turn on my caller id extension, I'm not able to debug because I dont see any log from my extensions.
Replies
1
Boosts
0
Views
177
Activity
Sep ’25
CallKit UI not invoked after receiving VoIP Push – app killed with NSInternalInconsistencyException
Our VoIP app receives PushKit notifications successfully (callservicesd Delivering 1 VoIP payload appears in logs). However, the app is consistently terminated by the system when running in the background or killed state. The crash is caused by iOS expecting a reportNewIncomingCall to CallKit, but the system reports: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.' *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], PKPushRegistry.m:349 Key Observations: VoIP pushes arrive and are delivered to the app. In foreground, some methods work and CallKit UI sometimes appears. In background/killed state, app is always terminated before CallKit UI shows. Logs confirm the system requires CallKit to be reported immediately inside pushRegistry(_:didReceiveIncomingPushWith:for:completion:). Steps to Reproduce: Run the app with VoIP + CallKit integration. Put app in background (or kill it). Send a VoIP push. Observe system logs and crash: callservicesd: Delivering 1 VoIP payload(s) to application UrgiDoctor: Apps receiving VoIP pushes must post an incoming call via CallKit... error: Killing VoIP app because it failed to post an incoming call in time. Expected Behavior: On receiving a VoIP push, CallKit UI (Accept / Decline screen) should always appear. App should not be killed if reportNewIncomingCall is called in time. Actual Behavior: CallKit UI never appears in background/killed state. App is force-terminated by iOS before user can accept/decline the call. Request: Guidance on the correct sequence for calling reportNewIncomingCall and completionHandler() in pushRegistry. Clarification if any changes in iOS 17/18 affect PushKit + CallKit behavior. Best practices for ensuring CallKit UI always appears reliably after a VoIP push. Environment: iOS 18.5 Simulator + Device Xcode 16.4 Using PushKit + CallKit with VoIP entitlement
Replies
1
Boosts
0
Views
209
Activity
Sep ’25
CallKit: Call Blocking for 3rd party apps question
Hi Apple Dev community, I want to ask if CallKit and CXCallDirectoryProvider (with addBlockingEntryWithNextSequentialPhoneNumber) doesn't work for 3rd party Phone apps. Is this a known issue that CallKit doesn't work on 3rd party iOS Phone apps (like WhatsApp, etc)? Thank you.
Replies
0
Boosts
0
Views
94
Activity
Sep ’25
Live Caller ID Lookup configuration submission
Hello fellow developers, Anyone blocked at the Live Caller ID Lookup configuration step? I submitted multiple times the form without any news from Apple since a few months (last one is FL7S57UFVR). This is blocking our app release to our customers. Thank you
Replies
1
Boosts
0
Views
234
Activity
Sep ’25