Post

Replies

Boosts

Views

Activity

iOS 27 Public Beta 6: CallKit UI remains after ending two outgoing calls in modified Apple Speakerbox sample
Summary On an iPhone 17 running iOS 27 Public Beta 6, the system CallKit UI remains visible after ending two outgoing calls individually. This is reproducible using Apple's “Making and Receiving VoIP Calls with CallKit” sample (Speakerbox), with only two minimal changes to support multiple simultaneous calls. After both calls end, Speakerbox displays “No Calls”, but the system CallKit UI still shows 111, and the Dynamic Island retains a call-related status. Environment Device: iPhone 17 (physical device) OS: iOS 27 Public Beta 6 App: Apple's Speakerbox sample with the modifications below Backend: None. The sample's original simulated calls are used; no external VoIP SDK is involved. Changes to the original sample Only two files were modified. 1. ProviderDelegate.swift Added: providerConfiguration.maximumCallGroups = 3 The original setting remains unchanged: providerConfiguration.maximumCallsPerCallGroup = 1 2. SpeakerboxCallManager.swift Before starting a new outgoing call, hold existing calls that are not already on hold. The hold actions and new start action are submitted in the same transaction: let transaction = CXTransaction() for call in calls where !call.isOnHold { transaction.addAction( CXSetHeldCallAction(call: call.uuid, onHold: true) ) } transaction.addAction(startCallAction) requestTransaction(transaction) No changes were made to the simulated connection timing, startedConnectingAt/connectedAt reporting, CXEndCallAction handling, call removal, or audio handling. The original end-call handler finds the call by UUID, calls endSpeakerboxCall(), fulfills the end action, and removes the call from the app's list. Steps to reproduce Launch the modified Speakerbox sample. Create an outgoing call to 111. Create a second outgoing call to 222. The first call is placed on hold. Wait until Speakerbox shows 111 — On Hold and 222 — Active, with call durations displayed. In Speakerbox, select 222 - End Call. Select 111 - End Call. Confirm that Speakerbox displays “No Calls”. Open the app switcher and inspect the system CallKit UI. Also inspect the Dynamic Island. Open the remaining system call UI and tap End. Expected result After both calls end, the system should no longer display an ongoing call in the CallKit UI or Dynamic Island. Actual result Speakerbox displays “No Calls”. The system CallKit UI continues to display the first call, 111. The Dynamic Island continues to show a call-related “Hold” status. Tapping End in the remaining system call UI does not clear the residual state during the recording. The issue occurs even after waiting for both simulated calls to connect before ending them. This is the system-provided CallKit UI, not an active-call view implemented by the sample app. Reproduction video Recording: 4b03d30e507b874d9c19c0523632e9d6.mp4 00:24–00:26 (approximately): Both calls are present; 111 is on hold and 222 is active. 00:26–00:31 (approximately): End 222, then end 111. Speakerbox displays “No Calls”. 00:31–01:03 (approximately): The system CallKit UI and Dynamic Island retain the call state despite further attempts to end it. Questions Is this an iOS 27 regression, or is additional lifecycle handling required when extending Speakerbox to support multiple calls? Please advise what additional diagnostics would help investigate why the system UI retains an ongoing-call state after both calls have been ended using the sample's original end-call handling. Source and video downloads https://github.com/willbin/callkit-ios27-repro/releases/tag/repro-v1
4
0
721
1w
The APNs delay to send notification on iOS 26.4
In my VoIP app, we use StartRing and StopRing via VoIP push to my app. But recently, I found some disordered VoIP notifications, my VoIP app received the StopRing push before the StartRing push. Examples: Server log: // send StartRing startring: - Apr 9, 2026 @ 14:54:43.255 .."pushType":"voip","priority":10, ... // send StopRing stop-ring Apr 9, 2026 @ 14:54:47.645 ..."pushType":"background","priority":5,"... VoIP app log: // receive StopRing 2026-04-0909:54:48.858 CDT : INFO : [RcRtc] [0x1feeba1c0] [PushNotificationParser]call push notification handled. action: StopRing telephony session id: s-a0dd8601926c7z19d72bbf8b9z1e62ec10000 sid: 178503189447188 // receive StartRing 2026-04-0909:54:49.524 CDT : INFO : [RcRtc] [0x1feeba1c0] [PushNotificationParser]call push notification handled. action: StartRing telephony session id: s-a0dd8601926c7z19d72bbf8b9z1e62ec10000 sid: 178503189447188 Then we can see the StartRing send first, but received in the app after the StopRing. The StartRing took abunt 6s to send and the StopRing took about 1s. So I guess there is an issue in the APNs part on iOS26.4. We saw there is a peak after iOS26.4 and iOS 26.4.1 than old iOS versions. Thanks.
8
0
1.2k
Apr ’26
How to use the new iOS26.4 method: pushRegistry(_:didReceiveIncomingVoIPPushWith:metadata:withCompletionHandler:)
I have a VoIP app, now try to implement the new method which support the "PKVoIPPushMetadata" in iOS 26.4. Code as below: /// iOS 26.4+ (SDK with `PKVoIPPushMetadata`): prefer this path for VoIP per Apple; completion is `@Sendable` on supported SDKs. @available(iOS 26.4, *) func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingVoIPPushWith payload: PKPushPayload, metadata: PKVoIPPushMetadata, withCompletionHandler completion: @escaping @Sendable () -> Void) { print("willtest: didReceiveIncomingVoIPPushWith: metadata=\(metadata)") handleVoIPPush(payload: payload, metadataMustReport: metadata.mustReport, completion: completion) } func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) { print("willtest: didReceiveIncomingPushWith: PKPushType=\(type)") handleVoIPPush(payload: payload, metadataMustReport: nil, completion: completion) } But the voip push only goes to the old method on my iOS26.4 device(iPhone17). And it will go to the new method after I delete the old method. So how can I use this method in my app? I must support iOS16+ versions.
3
1
771
Apr ’26
Can I add "com.apple.developer.calling-app" in the InHouse account?
https://developer.apple.com/documentation/callkit/preparing-your-app-to-be-the-default-calling-app I have 2 accounts, one for App store and one for tesing (Inhouse type). I added the capability in the Xcode project, and can run it. But when I run a Inhouse build for it on my CI server, it failed. So is the Inhouse build support this "com.apple.developer.calling-app"?
1
0
214
Aug ’25
How to check if my app is set as default calling app?
My app support ringout feature, when set Ringout, all the calls in my app will go to native, by using tel://xxx. But when my app set as the default calling app by the user. Then when user make a call from Contact, it will jump to my app, but app will will route this call to native. So there is a issue for this, then the quesion is: How to check if my app is set as default calling app?
Topic: UI Frameworks SubTopic: UIKit Tags:
1
1
339
Aug ’25
Audio issue on iPhone 15 pro (iOS18.5)
I have an audio issue on iPhone 15 Pro (iOS18.5). After some steps, the new call will be on one-way audio status, but tap mute and unmute will back to normal. See the attached video and check the "yellow dot indicator" for the audio status. Video link: https://youtube.com/shorts/DqYIIIqtMKI?feature=share I have a similar issue on iOS15 and iOS16, and no issue on iOS17, but now I have this issue on iOS18 with dynamic island model devices. Please check. Thanks.
5
1
783
Jun ’25
How to detect the SIM card status?
Before iOS16, we can use https://developer.apple.com/documentation/coretelephony/ctcarrier But after iOS this is deprecated and has no replacement. There are some discussions on it, eg. https://developer.apple.com/forums/thread/714876 https://developer.apple.com/forums/thread/770400 Now I asked AI, then it provided this solution, to check the serviceCurrentRadioAccessTechnology, so it this ok to check the SIM card status? var hasSIMCard = false let info = CTTelephonyNetworkInfo() if let rat = info.serviceCurrentRadioAccessTechnology, rat.values.contains(where: { !$0.isEmpty }) { hasSIMCard = true. // has RAT } BTW, I can see a lot of changes in the Core Telephony framework. https://developer.apple.com/documentation/coretelephony 1.isSIMInserted https://developer.apple.com/documentation/coretelephony/ctsubscriber/issiminserted A Boolean property that indicates whether a SIM is present. iOS 18.0+ iPadOS 18.0+ This value property is true if the system finds a SIM matching the Info.plist carrier information (MCC / MNC / GID1 / GID2). Is this ok to check SIM insert status, this seems must preconfig some info in the info.plist. 2.iOS26 provide CTCellularPlanStatus https://developer.apple.com/documentation/coretelephony/ctcellularplanstatus Can I use this to check SIM status?
2
0
629
Jun ’25
The proximity sensor works abnormal in some devices.
Steps to Reproduce make an outbound call cover the sensor Actual Behavior the screen won't go dark device iOS Result iphone15 17 Pass iphone14p 18.0.1 Pass iphoneXs_pro max 18.1.1 Pass iphone13pro max 18.2.1 Pass iphone16pro 18.2 Fail iphone15pro max 18.3 Fail iphone12 pro max 18.3 Fail ps: Skype has the same probelm Seems like this issue only happens on iOS18.2+ on some devices, so is there a bug for this?
3
0
551
Apr ’25
Some questions about CarPlay UI and entitlement
I read this doc and find some key info. https://developer.apple.com/carplay/documentation/CarPlay-App-Programming-Guide.pdf CarPlay app entitlements All CarPlay apps require a CarPlay app entitlement that matches your app type. To request a CarPlay app entitlement, go to http://developer.apple.com/carplay and provide information about your app, including the type of entitlement that you are requesting. You also need to agree to the CarPlay Entitlement Addendum. Apple will review your request. If your app meets the criteria for a CarPlay app, Apple will assign a CarPlay app entitlement to your Apple Developer account and notify you. But I still have questions about the old and new CarPlay. // About account permission I have 2 Apple developer accounts. Account A (normal dev account): Here our app already supports the old-style CarPlay UI. (before iOS14) And I can see there are "CarPlay Messaging App" and "CarPlay VoIP Calling App" in the "Additional Capabilities" tab in my Identifier. Account B (Enterprise account): I can see there is a "CarPlay Communication App" in the "Additional Capabilities" tab in my Identifier. But I don't know (or don't remember) if I have requested this new CarPlay entitlement for this account. Quesiton 1: If I want to refactor my current CarPlay app (from old UI to new UI [iOS14 support]), Do I need to request the CarPlay entitlement for Account A? Because I can not find the "CarPlay Communication App" in Account A portal(or via Xcode). // About New CarPlay UI In the old UI, there are just 2 buttons showing after user tap the App icon now. One is for message and the other one is for VoIP call. But I can see only one VoIP call button in the new CarPlay UI, no seperated message button. Question2: Can I add a message button? If no, how to implement a similiar user experience. Thanks.
1
0
333
Apr ’25
The app will be wake up from killed status by silent notification or not?
The app will be wake up from killed status by silent notification or not? This is a question for years, from my test. It will wake up. Here the wake up means it will call the "didFinishLaunchingWithOptions" method. But we can not see the app in the "recent apps" list after switching home-screen up. So any Apple dev can give me a detailed explain for this?
6
0
661
Mar ’25
Crash in QLPreviewController on iOS18.1 +
We found some Firebase crashes in QLPreviewController on iOS18.1 +. It shows cash info in QLPreviewController that we haven't changed for some years. Please help with this. Thanks in advance. // stack info from Firebase Fatal Exception: NSInvalidArgumentException *** -[NSURL URLByAppendingPathComponent:]: component, components, or pathExtension cannot be nil. 0 CoreFoundation __exceptionPreprocess 1 libobjc.A.dylib objc_exception_throw 2 Foundation -[NSURL(NSURLPathUtilities) URLByAppendingPathComponent:] 3 QuickLookUICore +[NSURL(_QL_Utilities) _QLTemporaryFileURLWithType:filename:] 4 QuickLookUICore +[NSURL(_QL_Utilities) _QLTemporaryFileURLWithType:uuid:] 5 QuickLook -[QLPreviewController(ScreenshotsSupport) screenshotService:generatePDFRepresentationWithCompletion:] 6 ScreenshotServices __82+[SSScreenshotMetadataHarvester _grabPDFRepresentationForIdentifier:withCallback:]_block_invoke_3 7 libdispatch.dylib _dispatch_call_block_and_release 8 libdispatch.dylib _dispatch_client_callout 9 libdispatch.dylib _dispatch_main_queue_drain 10 libdispatch.dylib _dispatch_main_queue_callback_4CF 11 CoreFoundation __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 12 CoreFoundation __CFRunLoopRun 13 CoreFoundation CFRunLoopRunSpecific 14 GraphicsServices GSEventRunModal 15 UIKitCore -[UIApplication _run] 16 UIKitCore UIApplicationMain 17 Glip main.swift - Line 13 main + 13
1
0
991
Dec ’24
iOS 27 Public Beta 6: CallKit UI remains after ending two outgoing calls in modified Apple Speakerbox sample
Summary On an iPhone 17 running iOS 27 Public Beta 6, the system CallKit UI remains visible after ending two outgoing calls individually. This is reproducible using Apple's “Making and Receiving VoIP Calls with CallKit” sample (Speakerbox), with only two minimal changes to support multiple simultaneous calls. After both calls end, Speakerbox displays “No Calls”, but the system CallKit UI still shows 111, and the Dynamic Island retains a call-related status. Environment Device: iPhone 17 (physical device) OS: iOS 27 Public Beta 6 App: Apple's Speakerbox sample with the modifications below Backend: None. The sample's original simulated calls are used; no external VoIP SDK is involved. Changes to the original sample Only two files were modified. 1. ProviderDelegate.swift Added: providerConfiguration.maximumCallGroups = 3 The original setting remains unchanged: providerConfiguration.maximumCallsPerCallGroup = 1 2. SpeakerboxCallManager.swift Before starting a new outgoing call, hold existing calls that are not already on hold. The hold actions and new start action are submitted in the same transaction: let transaction = CXTransaction() for call in calls where !call.isOnHold { transaction.addAction( CXSetHeldCallAction(call: call.uuid, onHold: true) ) } transaction.addAction(startCallAction) requestTransaction(transaction) No changes were made to the simulated connection timing, startedConnectingAt/connectedAt reporting, CXEndCallAction handling, call removal, or audio handling. The original end-call handler finds the call by UUID, calls endSpeakerboxCall(), fulfills the end action, and removes the call from the app's list. Steps to reproduce Launch the modified Speakerbox sample. Create an outgoing call to 111. Create a second outgoing call to 222. The first call is placed on hold. Wait until Speakerbox shows 111 — On Hold and 222 — Active, with call durations displayed. In Speakerbox, select 222 - End Call. Select 111 - End Call. Confirm that Speakerbox displays “No Calls”. Open the app switcher and inspect the system CallKit UI. Also inspect the Dynamic Island. Open the remaining system call UI and tap End. Expected result After both calls end, the system should no longer display an ongoing call in the CallKit UI or Dynamic Island. Actual result Speakerbox displays “No Calls”. The system CallKit UI continues to display the first call, 111. The Dynamic Island continues to show a call-related “Hold” status. Tapping End in the remaining system call UI does not clear the residual state during the recording. The issue occurs even after waiting for both simulated calls to connect before ending them. This is the system-provided CallKit UI, not an active-call view implemented by the sample app. Reproduction video Recording: 4b03d30e507b874d9c19c0523632e9d6.mp4 00:24–00:26 (approximately): Both calls are present; 111 is on hold and 222 is active. 00:26–00:31 (approximately): End 222, then end 111. Speakerbox displays “No Calls”. 00:31–01:03 (approximately): The system CallKit UI and Dynamic Island retain the call state despite further attempts to end it. Questions Is this an iOS 27 regression, or is additional lifecycle handling required when extending Speakerbox to support multiple calls? Please advise what additional diagnostics would help investigate why the system UI retains an ongoing-call state after both calls have been ended using the sample's original end-call handling. Source and video downloads https://github.com/willbin/callkit-ios27-repro/releases/tag/repro-v1
Replies
4
Boosts
0
Views
721
Activity
1w
The APNs delay to send notification on iOS 26.4
In my VoIP app, we use StartRing and StopRing via VoIP push to my app. But recently, I found some disordered VoIP notifications, my VoIP app received the StopRing push before the StartRing push. Examples: Server log: // send StartRing startring: - Apr 9, 2026 @ 14:54:43.255 .."pushType":"voip","priority":10, ... // send StopRing stop-ring Apr 9, 2026 @ 14:54:47.645 ..."pushType":"background","priority":5,"... VoIP app log: // receive StopRing 2026-04-0909:54:48.858 CDT : INFO : [RcRtc] [0x1feeba1c0] [PushNotificationParser]call push notification handled. action: StopRing telephony session id: s-a0dd8601926c7z19d72bbf8b9z1e62ec10000 sid: 178503189447188 // receive StartRing 2026-04-0909:54:49.524 CDT : INFO : [RcRtc] [0x1feeba1c0] [PushNotificationParser]call push notification handled. action: StartRing telephony session id: s-a0dd8601926c7z19d72bbf8b9z1e62ec10000 sid: 178503189447188 Then we can see the StartRing send first, but received in the app after the StopRing. The StartRing took abunt 6s to send and the StopRing took about 1s. So I guess there is an issue in the APNs part on iOS26.4. We saw there is a peak after iOS26.4 and iOS 26.4.1 than old iOS versions. Thanks.
Replies
8
Boosts
0
Views
1.2k
Activity
Apr ’26
How to use the new iOS26.4 method: pushRegistry(_:didReceiveIncomingVoIPPushWith:metadata:withCompletionHandler:)
I have a VoIP app, now try to implement the new method which support the "PKVoIPPushMetadata" in iOS 26.4. Code as below: /// iOS 26.4+ (SDK with `PKVoIPPushMetadata`): prefer this path for VoIP per Apple; completion is `@Sendable` on supported SDKs. @available(iOS 26.4, *) func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingVoIPPushWith payload: PKPushPayload, metadata: PKVoIPPushMetadata, withCompletionHandler completion: @escaping @Sendable () -> Void) { print("willtest: didReceiveIncomingVoIPPushWith: metadata=\(metadata)") handleVoIPPush(payload: payload, metadataMustReport: metadata.mustReport, completion: completion) } func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) { print("willtest: didReceiveIncomingPushWith: PKPushType=\(type)") handleVoIPPush(payload: payload, metadataMustReport: nil, completion: completion) } But the voip push only goes to the old method on my iOS26.4 device(iPhone17). And it will go to the new method after I delete the old method. So how can I use this method in my app? I must support iOS16+ versions.
Replies
3
Boosts
1
Views
771
Activity
Apr ’26
The iOS CallKit end my call without user action.
By analysis the log, seems the following 3 calls has been ended by system callkit (Not mainly trigger the end call): @apple Do you have similar report that the iOS CallKit End the call withtour user action? Device info: iPhone18,1(iPhone 16 Pro) iOS 26.2 RCAppMobile/25.4.30.995 CTRadioAccessTechnologyNR(5G NR)
Replies
8
Boosts
0
Views
785
Activity
Apr ’26
Keyboard change callback changed on iOS26
There are 2 textfileds. When focus switches between these 2 fields, On iOS18: it will call the keyboardWillShowNotification On iOS26, it will NOT call this keyboardWillShowNotification. Is it a bug or a feature?
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
1
Boosts
2
Views
282
Activity
Sep ’25
Can I add "com.apple.developer.calling-app" in the InHouse account?
https://developer.apple.com/documentation/callkit/preparing-your-app-to-be-the-default-calling-app I have 2 accounts, one for App store and one for tesing (Inhouse type). I added the capability in the Xcode project, and can run it. But when I run a Inhouse build for it on my CI server, it failed. So is the Inhouse build support this "com.apple.developer.calling-app"?
Replies
1
Boosts
0
Views
214
Activity
Aug ’25
How to check if my app is set as default calling app?
My app support ringout feature, when set Ringout, all the calls in my app will go to native, by using tel://xxx. But when my app set as the default calling app by the user. Then when user make a call from Contact, it will jump to my app, but app will will route this call to native. So there is a issue for this, then the quesion is: How to check if my app is set as default calling app?
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
1
Boosts
1
Views
339
Activity
Aug ’25
Is there any issue in the open func request(_ transaction: CXTransaction)
I found this api may fail after iOS18.0 open func request(_ transaction: CXTransaction, completion: @escaping ((any Error)?) -> Void) But I can not reproduce it and it will recover after relaunch the app. Is there any issue for this or guide line after iOS18?
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
1
Boosts
0
Views
385
Activity
Jul ’25
Audio issue on iPhone 15 pro (iOS18.5)
I have an audio issue on iPhone 15 Pro (iOS18.5). After some steps, the new call will be on one-way audio status, but tap mute and unmute will back to normal. See the attached video and check the "yellow dot indicator" for the audio status. Video link: https://youtube.com/shorts/DqYIIIqtMKI?feature=share I have a similar issue on iOS15 and iOS16, and no issue on iOS17, but now I have this issue on iOS18 with dynamic island model devices. Please check. Thanks.
Replies
5
Boosts
1
Views
783
Activity
Jun ’25
How to detect the SIM card status?
Before iOS16, we can use https://developer.apple.com/documentation/coretelephony/ctcarrier But after iOS this is deprecated and has no replacement. There are some discussions on it, eg. https://developer.apple.com/forums/thread/714876 https://developer.apple.com/forums/thread/770400 Now I asked AI, then it provided this solution, to check the serviceCurrentRadioAccessTechnology, so it this ok to check the SIM card status? var hasSIMCard = false let info = CTTelephonyNetworkInfo() if let rat = info.serviceCurrentRadioAccessTechnology, rat.values.contains(where: { !$0.isEmpty }) { hasSIMCard = true. // has RAT } BTW, I can see a lot of changes in the Core Telephony framework. https://developer.apple.com/documentation/coretelephony 1.isSIMInserted https://developer.apple.com/documentation/coretelephony/ctsubscriber/issiminserted A Boolean property that indicates whether a SIM is present. iOS 18.0+ iPadOS 18.0+ This value property is true if the system finds a SIM matching the Info.plist carrier information (MCC / MNC / GID1 / GID2). Is this ok to check SIM insert status, this seems must preconfig some info in the info.plist. 2.iOS26 provide CTCellularPlanStatus https://developer.apple.com/documentation/coretelephony/ctcellularplanstatus Can I use this to check SIM status?
Replies
2
Boosts
0
Views
629
Activity
Jun ’25
The proximity sensor works abnormal in some devices.
Steps to Reproduce make an outbound call cover the sensor Actual Behavior the screen won't go dark device iOS Result iphone15 17 Pass iphone14p 18.0.1 Pass iphoneXs_pro max 18.1.1 Pass iphone13pro max 18.2.1 Pass iphone16pro 18.2 Fail iphone15pro max 18.3 Fail iphone12 pro max 18.3 Fail ps: Skype has the same probelm Seems like this issue only happens on iOS18.2+ on some devices, so is there a bug for this?
Replies
3
Boosts
0
Views
551
Activity
Apr ’25
Some questions about CarPlay UI and entitlement
I read this doc and find some key info. https://developer.apple.com/carplay/documentation/CarPlay-App-Programming-Guide.pdf CarPlay app entitlements All CarPlay apps require a CarPlay app entitlement that matches your app type. To request a CarPlay app entitlement, go to http://developer.apple.com/carplay and provide information about your app, including the type of entitlement that you are requesting. You also need to agree to the CarPlay Entitlement Addendum. Apple will review your request. If your app meets the criteria for a CarPlay app, Apple will assign a CarPlay app entitlement to your Apple Developer account and notify you. But I still have questions about the old and new CarPlay. // About account permission I have 2 Apple developer accounts. Account A (normal dev account): Here our app already supports the old-style CarPlay UI. (before iOS14) And I can see there are "CarPlay Messaging App" and "CarPlay VoIP Calling App" in the "Additional Capabilities" tab in my Identifier. Account B (Enterprise account): I can see there is a "CarPlay Communication App" in the "Additional Capabilities" tab in my Identifier. But I don't know (or don't remember) if I have requested this new CarPlay entitlement for this account. Quesiton 1: If I want to refactor my current CarPlay app (from old UI to new UI [iOS14 support]), Do I need to request the CarPlay entitlement for Account A? Because I can not find the "CarPlay Communication App" in Account A portal(or via Xcode). // About New CarPlay UI In the old UI, there are just 2 buttons showing after user tap the App icon now. One is for message and the other one is for VoIP call. But I can see only one VoIP call button in the new CarPlay UI, no seperated message button. Question2: Can I add a message button? If no, how to implement a similiar user experience. Thanks.
Replies
1
Boosts
0
Views
333
Activity
Apr ’25
The app will be wake up from killed status by silent notification or not?
The app will be wake up from killed status by silent notification or not? This is a question for years, from my test. It will wake up. Here the wake up means it will call the "didFinishLaunchingWithOptions" method. But we can not see the app in the "recent apps" list after switching home-screen up. So any Apple dev can give me a detailed explain for this?
Replies
6
Boosts
0
Views
661
Activity
Mar ’25
What happened on the APNs connection after force-restart?
My VoIP app is installed on an iPad, but can't accept incoming calls by VoIP push. But it works after I force-restart this iPad. I have some customers who encountered the same cases, fixed by force-restart too. So my question is What happened on the APNs connection after force-restart? At what case, the APNs connection will be off?
Replies
2
Boosts
0
Views
630
Activity
Dec ’24
Crash in QLPreviewController on iOS18.1 +
We found some Firebase crashes in QLPreviewController on iOS18.1 +. It shows cash info in QLPreviewController that we haven't changed for some years. Please help with this. Thanks in advance. // stack info from Firebase Fatal Exception: NSInvalidArgumentException *** -[NSURL URLByAppendingPathComponent:]: component, components, or pathExtension cannot be nil. 0 CoreFoundation __exceptionPreprocess 1 libobjc.A.dylib objc_exception_throw 2 Foundation -[NSURL(NSURLPathUtilities) URLByAppendingPathComponent:] 3 QuickLookUICore +[NSURL(_QL_Utilities) _QLTemporaryFileURLWithType:filename:] 4 QuickLookUICore +[NSURL(_QL_Utilities) _QLTemporaryFileURLWithType:uuid:] 5 QuickLook -[QLPreviewController(ScreenshotsSupport) screenshotService:generatePDFRepresentationWithCompletion:] 6 ScreenshotServices __82+[SSScreenshotMetadataHarvester _grabPDFRepresentationForIdentifier:withCallback:]_block_invoke_3 7 libdispatch.dylib _dispatch_call_block_and_release 8 libdispatch.dylib _dispatch_client_callout 9 libdispatch.dylib _dispatch_main_queue_drain 10 libdispatch.dylib _dispatch_main_queue_callback_4CF 11 CoreFoundation __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 12 CoreFoundation __CFRunLoopRun 13 CoreFoundation CFRunLoopRunSpecific 14 GraphicsServices GSEventRunModal 15 UIKitCore -[UIApplication _run] 16 UIKitCore UIApplicationMain 17 Glip main.swift - Line 13 main + 13
Replies
1
Boosts
0
Views
991
Activity
Dec ’24