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
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Satellite Communication framework, experiences a failure in receiving network path updates when a device transitions from Satellite to a fringe LTE area. The iOS Status Bar correctly updates to show "LTE," but our application does not receive the corresponding network path update (e.g., via NWPathMonitor). This leaves our app UI locked in "Satellite Mode," while the user sees "LTE" in the status bar, causing critical user confusion.
Feedback: FB20976940
Rejecting a Cellular Call Also Rejects Application Video Call
Steps:
1.When a user receives a cellular call and it is in the "ringing" state and application receives a video call which is reported to CallKit
2.User rejects the Cellular call from Callkit UI, Video call is also getting rejected.
3.Application is receiving performEndCallAction when user is rejecting the Cellular call
As a part of CXcallobserver Application is receiving call connected then disconnected for the cellular call
Irrespective of OS, the issue only reproduces on cellular calls if Live Voicemail is enabled.
Issue is not reproduced when Live Voicemail is disabled for cellular calls, and it is not reproducing on FaceTime calls, regardless of the Live Voicemail setting.
This results in a poor user experience because:
The recipient unintentionally misses the CallKit-reported call.
The initiator receives confusing and inaccurate status information, believing the recipient is busy rather than having chosen to decline the pending video call.
"We are developing an application use case that requires us to prompt the user to restart their device. We plan to use the system uptime value provided by [NSProcessInfo processInfo].systemUptime to determine if a restart has occurred. Apple's documentation defines this API as 'The amount of time the system has been awake since the last time it was restarted.'
Our questions are:
Can we reliably use this API, in conjunction with persistent storage, to detect a device restart?
Are there any known limitations or considerations when accessing or relying on this API while the application is running in the background?"
We are experiencing a failure in CLMonitor event delivery when the application is launched into the background via an APNS (Remote Push Notification).
Even when a CLBackgroundActivitySession is instantiated immediately upon background launch, CLCircularGeographicCondition "Enter" events are suppressed. The system fails to deliver these events until the user manually brings the application to the Foreground. This indicates that CLBackgroundActivitySession does not correctly maintain background persistence when the session begins in a background state rather than transitioning from the foreground.
Comparison of API Behavior (Background State)
Launch via APNS:
CLMonitor: Fails to trigger "Enter" events until the app is manually brought to the foreground.
Legacy API: Successfully triggers and delivers "Enter" events immediately upon background launch.
Exit Event Reliability:
CLMonitor: Reliably triggers exit events even in the background.
Legacy API: Reliably triggers exit events.
Foreground Dependency:
CLMonitor: Requires a foreground transition to "flush" or activate the delivery of pending entry events.
Legacy API: No foreground transition required; events are delivered directly to the background process.
Event Recovery:
CLMonitor: Relies on the developer re-instantiating the CLMonitor and awaiting the events stream, which appears to "stall" during warm-starts.
Legacy API: Relies on the CLLocationManagerDelegate which remains active as long as the manager instance exists.
Steps to Reproduce
Preconditions:
Location Permissions: Set to "Always Allow".
Background Modes: "Location updates" and "Remote notifications" enabled.
App State: Terminated or Killed (by the user or the OS).
Reproduction Path:
Trigger Background Launch: Send a silent push notification (APNS) to wake the app in the background.
Initialize Session: Within the background launch sequence (e.g., didFinishLaunchingWithOptions), immediately create and hold a strong reference to a CLBackgroundActivitySession.
Register Monitor: * Initialize CLMonitor using requestMonitorWithConfiguration.
Add a geofence using addConditionForMonitoring with a CLCircularGeographicCondition.
Simulate Entry: Move the physical device (or simulate location) into the geofence boundary while the app remains in the background state.
Observe: No "Enter" event is received in the CLMonitor event stream.
Foreground Transition: Bring the app to the foreground.
Actual Result: The "Enter" event is only delivered the moment the app enters the Foreground.
Expected Result: The CLBackgroundActivitySession should enable CLMonitor to deliver "Enter" events immediately in the background, parity with the deprecated startMonitoringForRegion API.
Hi there,
I am trying to register for an App Identifier with the new PushToTalk Capability but getting the following message
This request is forbidden for security reasons
The selected team does not have a program membership that is eligible for this feature. If you need assistance, please contact Apple Developer Program Support. https://developer.apple.com/support
We have enrolled for Annual Apple Developer Program
Could you please help us in resolving this error.
App initiates a App group based UserDefaults within the willFinishLaunchingWithOptions method and the same reference are used throughout the app life cycle
+ (NSUserDefaults *)appGroupUserDefaults
{
if (_appGroupUserDefaults == nil)
{
NSString *appGroupIdentifier = [NSString stringWithFormat:@"group.%@",[[NSBundle mainBundle] bundleIdentifier]];
NSUserDefaults *groupDefaults = [[NSUserDefaults standardUserDefaults] initWithSuiteName:appGroupIdentifier];
if(groupDefaults != nil)
{
NSLog(@"[DB_ENCRYPTION] appGroupUserDefaults initialised");
_appGroupUserDefaults = groupDefaults;
}
else
{
NSLog(@"<ALA_ERROR>: [CCF-OS] [DB_ENCRYPTION] %s Unable to create NSUSerDefaults with groupIdentifier", __func__);
_appGroupUserDefaults = [NSUserDefaults standardUserDefaults];
}
}
return _appGroupUserDefaults;
}
Doesn't have any issues on accessing the values but seen the below console error:
Couldn't read values in CFPrefsPlistSource<0x103eedb00> (Domain: group.com.kodiak.InstaPoC, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
Does it require any action here ?
We're currently migrating from AppDelegate to UISceneDelegate due to console warnings .
Our application's UI, which is built on a single webpage, functions correctly when launched in the foreground after this migration.
However, we've encountered an issue with partial rendered UI components when launching the application from the background, such as upon receiving a VoIP call.
During a background launch, the following delegate calls occur before the client attempts to load a local webpage:
[08/07 16:25:49:037][ 0x101ea3910]<ALA_SIGNAL>: [OS-PLT] Exit -[AppDelegate application:didFinishLaunchingWithOptions:]
[08/07 16:25:49:084][ 0x10c0c4140]<PushToTalk> [Pushnotif] [] <ALA_SIGNAL>: [OS-CCF] Enter -[PushNotificationManager pushRegistry:didReceiveIncomingPushWithPayload:forType:withCompletionHandler:]
[08/07 16:25:49:098][ 0x101ea3910]Begin -[SceneDelegate scene:willConnectToSession:options:]
[08/07 16:25:49:098][ 0x101ea3910]Exit -[SceneDelegate scene:willConnectToSession:options:]
As part of client login process we load the index page in WebKit here:
[08/07 16:25:50:977][ 0x101ea3910]<ALA_SIGNAL>: [PLT-OS] Enter -[SceneDelegate loadUI:] [UI Launch Reason = 1]
Code:
NSString *path = [[NSBundle mainBundle]pathForResource:@"index" ofType:@"html" inDirectory:@"www"];
NSURL *urlReq = [NSURL fileURLWithPath:path];
[webView loadFileURL:urlReq allowingReadAccessToURL:urlReq];
The problem we're observing is that the webpage is only partially rendering in this background launch scenario (Seen after brought to FG).
Any insights or assistance you can provide would be greatly appreciated.
We are getting the above mentioned error while uploading to TestFlight.
We have used a Swift Class to request for the Age Range via DeclaredAgeRange Framework. We have exposed Swift class and a helper function to be available in Objective-C layer. We have enabled the following build settings
SWIFT_OBJC_INTERFACE_HEADER_NAME = "Common-Swift.h";
SWIFT_OBJC_BRIDGING_HEADER = "Common-Bridging-Header.h ";
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
Also we are compiling the application using latest available Xcode release 17C52
Is there anything else we need to do to resolve the error?
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Tags:
Swift
TestFlight
Declared Age Range
We have a push-to-talk client, Part of Push APNS, app never received the BG task expiry.
The app is suspended.
Received Push-To-Talk APNS
Here requested a BGTask and it got successfully registered
Since it is a PTT call path, it ended immediately(via code) due to internal restrictions Ex: DND mode for client specific. The client allowed BG time more than 30 seconds and looks client has been suspended but Never received a BG task expiration handler from OS
In sys diagnose logs confirmed, BGTask registered successfully
2024-09-03 16:18:47.331890 +0530 default AT&T EPTT : Created background task .
But never got fired expiration handler.
Feedback - FB15145380
We have a client with an application that includes a main application, NSEs (Notification Service Extensions) as an extension, and framework1 embedded within the main application.
The NSEs also require framework1 as a dependency. When we embedded framework1 within the NSEs, the App Store Connect validation failed with the following error:
Validation failed (409)
CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'com.test.xyz-LoggerUtility' under the iOS application 'test.app'. (ID: -----------)
We've observed an issue specifically when uploading to App Store Connect. We're able to debug and distribute the application without any problems using our enterprise distribution.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
iOS
Frameworks
Bundle ID
App Store Connect
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.
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
Application has specified the bluetooth-central background mode.
Peripheral Device(BLE) is connected to the iPhone.
Application will initiate a request 'retrieveConnectedPeripheralsWithServices' along with list of services to scan for.
Application will receive a list of peripherals connected to the system whose service UUID's match.
From the list of peripherals, application will initiate a request 'connectPeripheral' with the interested peripheral along with the option set to 'CBConnectPeripheralOptionEnableAutoReconnect'. This option is available from iOS 17+.
CBConnectPeripheralOptionEnableAutoReconnect - This option will help in reconnect back to peripheral when peripheral becomes available. (Turn OFF and Turn ON)
How do we achieve the same thing in earlier IOS version
We require assistance in resolving a critical audio design conflict within our Push-to-Talk (PTT) application. Our current volume amplification strategy—which relies on applying a GAIN factor to PCM samples in conjunction with setting the AVAudioSession category to Playback—is working successfully when PTT is used independently. However, upon integrating and reporting the same PTT call through the CallKit framework, this amplification effect is lost. The CallKit integration appears to be forcing a different, non-amplifying audio session category or configuration, negatively impacting the user's perceived call volume. We need guidance on how to maintain the AVAudioSessionCategoryPlayback setting, or an equivalent high-volume configuration, while operating under the control of CallKit.