Search results for

“Popping Sound”

20,040 results found

Post

Replies

Boosts

Views

Activity

Reply to Critical CallKit Issue: Audio Route Flapping due to reason: 3 (CategoryChange) after User Toggle
I am facing a severe audio routing instability issue when using CallKit and the Zego Express SDK on iOS. The problem is that the audio route immediately reverts from the Speaker back to the Earpiece, effectively disabling the Speaker button functionality. 📝 Are you able to reproduce the problem in our sample code (Speakerbox)? Observed BehaviorWhen the user taps the native CallKit Speaker Button, the audio route is correctly changed to the Speaker, but then instantly flips back to the Receiver (Earpiece), as shown in the system log captured via AVAudioSession.routeChangeNotification monitoring. 🧾 Log Evidence (Flapping Occurs in 0.4 seconds)The following log snippet clearly illustrates the system overriding the user's action (reason: 4) with an unexpected CategoryChange (reason: 3) event: I think this is a problem with the library, specifically because of this: with an unexpected CategoryChange (reason: 3) event: CallKit is tightly integrated with the audio system because
Topic: App & System Services SubTopic: General Tags:
Dec ’25
Stopping and Resuming Background Location Activity with CLLocationUpdates and CLBackgroundActivitySession
Hello, This is my first post in the forums, and I'm still learning my way with iOS Development and Swift. My apologies if the formatting is not correct, or If I'm making any mistakes. I'm currently trying to implement an iOS App where the device needs to share the location with my server via an API call. The use case is as follows: the server expects location updates to determine if a device is inside/outside a geofence. If the device is stationary, no locations need to be sent. If the device begins moving, regardless of whether the app is in foreground, background, or terminated, the app should resume posting locations to the server. I've decided to use the CLLocationUpdate.liveUpdates() stream, together with CLBackgroundActivitySession(). However, I have not been able to achieve the behavior successfully. My app either maintains the blue CLActivitySession indicator active, regardless of whether the phone is stationary or not, or kills the Indicator (and the background capability) and does not restore it whe
3
0
196
Dec ’25
CarPlay: AVSpeechUtterance not speaking/playing audio in some cars
I am having an issue with the code that I posted below. I capture voice in my CarPlay app, then allow the user to have it read back to them using AVSpeechUtterance. This works fine on some cars, but many of my beta testers report no audio being played. I have also experienced this in a rental car where the audio was either too quiet or the audio didn't play. Does anyone see any issue with the code that I posted? This is for CarPlay specifically. class CarPlayTextToSpeechService: NSObject, ObservableObject, AVSpeechSynthesizerDelegate { private var speechSynthesizer = AVSpeechSynthesizer() static let shared = CarPlayTextToSpeechService() /// Completion callback private var completionCallback: (() -> Void)? override init() { super.init() speechSynthesizer.delegate = self } func configureAudioSession() { do { try AVAudioSession.sharedInstance().setCategory(.playback, mode: .voicePrompt, options: [.duckOthers, .interruptSpokenAudioAndMixWithOthers, .allowBluetoothHFP]) } catch { prin
2
0
280
Dec ’25
Reply to CarPlay: AVSpeechUtterance not speaking/playing audio in some cars
I also having an issue with AVSpeechUtterance on CarPlay, specifically on Wireless Carplay. Im getting an error IPCAUClient.cpp:129 IPCAUClient: bundle display name is nil or IPCAUClient.cpp:139 IPCAUClient: can't connect to server (-66748) after speechSynthesizer.speak(speechUtterance) and my audio is not being played or all the audio, including from other app audio become very choppy.
Topic: UI Frameworks SubTopic: UIKit Tags:
Dec ’25
Reply to WiFi aware demo paring issue
We are also facing similar issue the follow-up frames I send are not receiving any response. . Did you get any response from apple or breakthrough for this? As per my understanding, once initiate bootstrapping follow up frame and apple device respond with follow up frame. it may be pop up pin which need to use for PASN exchange later.
Dec ’25
UIBarButtonItem-The background color of UIBarButtonItem is missing?
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; backBtn.frame = CGRectMake(0, 0, 44, 44); [backBtn setImage:[UIImage imageNamed:@back] forState:UIControlStateNormal]; [backBtn addTarget:self action:@selector(gotoBack) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn]; // backItem.hidesSharedBackground = YES; // backItem.tintColor = [UIColor redColor]; self.navigationItem.leftBarButtonItem = backItem; I am using Xcode 26, which is compatible with iOS 26. After I set up the back button of the navigation bar, why are the background colors of the back buttons on some pages gray? When I pushed the new page, after popping back to the current page, the buttons with the gray background turned back to the white background. This issue will also affect the rightBarButtonItem.
Topic: UI Frameworks SubTopic: UIKit
1
0
228
Dec ’25
Speed AppleTV > Distorted HomePod Audio
Hey everyone. Ever since installed OS26 (and 26.1 now) - whenever I fast play any video on 1.25x, 1.5x, 2x on the AppleTV - the audio gets massively distorted on HomePods. Be it on YouTube, Difuse, or any supporting app. I even tried mirroring from iPhone -same issue. Anyone else experiencing the same? I noticed no posts about troubleshooting.
2
0
112
Dec ’25
For receiving audio in PushtoTalk, channelManager(_:didActivate:) not called when app receives first push after backgrounding
I'm implementing the PushToTalk framework and have encountered an issue where channelManager(_:didActivate:) is not called under specific circumstances. What works: App is in foreground, receives PTT push → didActivate is called ✅ App receives audio in foreground, then is backgrounded → subsequent pushes trigger didActivate ✅ What doesn't work: App is launched, user joins channel, then immediately backgrounds PTT push arrives while app is backgrounded incomingPushResult is called, I return .activeRemoteParticipant(participant) The system UI shows the speaker name correctly However, didActivate is never called Audio data arrives via WebSocket but cannot be played (no audio session) Setup: Channel joined successfully before backgrounding UIBackgroundModes includes push-to-talk No manual audio session activation (setActive) anywhere in my code AVAudioEngine setup only happens inside didActivate delegate method Issue persists even after channel restoration via channelDescriptor
6
0
445
Dec ’25
Reply to For receiving audio in PushtoTalk, channelManager(_:didActivate:) not called when app receives first push after backgrounding
And when PTT notification arrives, saving the URL to the audio file in incomingPushResult, then downloading and playing that sound using AVAudioPlayer when didActivate is executed. It's working fine on the foreground, but when the app goes to the background, incomingPushResult is called as expected, but didActivate is not for some reason. Am I missing anything in my setup? Yes. The issue here is that you can't use AVAudioPlayer, as it does its own AudioSession activation. More specifically: It's working fine on the foreground. It works in the foreground app because the foreground app has inherent access to the audio system and can do whatever it wants. However: when the app goes to the background, incomingPushResult is called as expected, but didActivate is not for some reason. ...what happens in the background is that the same activation attempt then occurs and either fails entirely or succeeds (partially) but is then disrupted by callservicesd's own activation. Unfortunately, you'
Topic: App & System Services SubTopic: General Tags:
Dec ’25
Roomplan exceeded scene size limit error. (RoomCaptureSession.CaptureError.exceedSceneSizeLimit)
Error: RoomCaptureSession.CaptureError.exceedSceneSizeLimit Apple Documentation Explanation: An error that indicates when the scene size grows past the framework’s limitations. Issue: This error is popping up in my iPhone 14 Pro (128 GB) after a few roomplan scans are done. This error shows up even if the room size is small. It occurs immediately after I start the RoomCaptureSession after the relocalisation of previous AR session (in world tracking configuration). I am having trouble understanding exactly why this error shows and how to debug/solve it. Does anyone have any idea on how to approach to this issue?
2
0
1.3k
Dec ’25
AVAudioRecorder loses audio recorded before interruption
Hi everyone, I'm running into an issue with AVAudioRecorder when handling interruptions such as phone calls or alarms. Problem: When the app is recording audio and an interruption occurs: I handle the interruption with audioRecorder?.pause() inside AVAudioSession.interruptionNotification (on .began). On .ended, I check for .shouldResume and call audioRecorder?.record() again. The recorder resumes successfully, but only the audio recorded after the interruption is saved. The audio recorded before the interruption is lost, even though I'm using the same file URL and not recreating the recorder. Repro: Start a recording with AVAudioRecorder Simulate a system interruption (e.g., incoming call) Resume recording after the interruption Stop and inspect the output audio file Expected: Full audio (before and after interruption) should be saved. Actual: Only the audio after interruption is saved; the earlier part is missing Notes: According to the documentation, cal
1
0
389
Dec ’25
How to test SignificantChange Permission Ask
I'm developing for compliance with Texas law in the United States. Currently, I'm encountering an issue where I want to test the feature point when the app undergoes significant changes, a supervised user initiates a request. However, during actual testing, the app pops up an error message: Can't Ask, An Unknown error occurred. Additionally, I see the following error message in the Xcode Console: Error Domain=AskToCore.ATMessageComposeValidationError Code=4 'The user is in a region that does not support this type of ask.' UserInfo={NSLocalizedFailureReason=The user must be in a supported region to use this feature., NSLocalizedRecoverySuggestion=Please ensure the user is in an eligible region., NSLocalizedDescription=The user is in a region that does not support this type of ask.} I am indeed not in the Texas region. I want to conduct full-process testing before the feature is released to the App Store. What should I do? Apart from Sandbox testing (which, in fact, doesn't show any pop-ups either), ho
2
0
299
Dec ’25
Reply to Disconnect from AirPlay device programmatically
Hello @DTS Engineer ! I would like to add that there is another, maybe related, issue. When a user uses AirPlay to stream a video from another app and opens video in my app, which is intended to play only on device - everything works as expected. But when a user opens a video in my app, which is allowed to be played through AirPlay, plays it on external screen, than closes a video, but does not disconnect AirPlay, and opens another screen where plays a video, that should stay on device, audio of that video starts to play through AirPlay. The same situation when there are 2 players on the second screen, where one plays video without audio and the other plays only audio. Player with only audio starts playback on external screen. I wonder if there is a way to signal to AVPlayer to stop trying to use AirPlay for other players, because ‘allowsExternalPlayback = false’ does not work and audio still tries to play through AirPlay. Thank you!
Topic: Media Technologies SubTopic: Streaming Tags:
Dec ’25
Reply to Disconnect from AirPlay device programmatically
Hello @erawq, There is no reliable way to disconnect your app's audio playback from an AirPlay route (aside from the user taking action to change the route in Control Center for example). From AVAudioSessionTypes.h: - AVAudioSessionCategoryPlayAndRecord: /// DefaultToSpeaker will default to false, but >can be set to true, routing to Speaker /// (instead of Receiver) when no other audio route is connected. The key phrasing here is (instead of Receiver) when no other audio route is connected. In other words: try audioSession.setCategory(.playAndRecord, options: .defaultToSpeaker) This call is only expected to have an effect when audio is currently being routed to the device's receiver (the speaker which on most devices is at the top near the front-facing camera). In your case, audio is being routed to an AirPlay route, so it is expected that this call should not have an effect. If you would like the capability of programmatically disconnecting from an AirPlay rout
Topic: Media Technologies SubTopic: Streaming Tags:
Dec ’25
Reply to Critical CallKit Issue: Audio Route Flapping due to reason: 3 (CategoryChange) after User Toggle
I am facing a severe audio routing instability issue when using CallKit and the Zego Express SDK on iOS. The problem is that the audio route immediately reverts from the Speaker back to the Earpiece, effectively disabling the Speaker button functionality. 📝 Are you able to reproduce the problem in our sample code (Speakerbox)? Observed BehaviorWhen the user taps the native CallKit Speaker Button, the audio route is correctly changed to the Speaker, but then instantly flips back to the Receiver (Earpiece), as shown in the system log captured via AVAudioSession.routeChangeNotification monitoring. 🧾 Log Evidence (Flapping Occurs in 0.4 seconds)The following log snippet clearly illustrates the system overriding the user's action (reason: 4) with an unexpected CategoryChange (reason: 3) event: I think this is a problem with the library, specifically because of this: with an unexpected CategoryChange (reason: 3) event: CallKit is tightly integrated with the audio system because
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25
Stopping and Resuming Background Location Activity with CLLocationUpdates and CLBackgroundActivitySession
Hello, This is my first post in the forums, and I'm still learning my way with iOS Development and Swift. My apologies if the formatting is not correct, or If I'm making any mistakes. I'm currently trying to implement an iOS App where the device needs to share the location with my server via an API call. The use case is as follows: the server expects location updates to determine if a device is inside/outside a geofence. If the device is stationary, no locations need to be sent. If the device begins moving, regardless of whether the app is in foreground, background, or terminated, the app should resume posting locations to the server. I've decided to use the CLLocationUpdate.liveUpdates() stream, together with CLBackgroundActivitySession(). However, I have not been able to achieve the behavior successfully. My app either maintains the blue CLActivitySession indicator active, regardless of whether the phone is stationary or not, or kills the Indicator (and the background capability) and does not restore it whe
Replies
3
Boosts
0
Views
196
Activity
Dec ’25
CarPlay: AVSpeechUtterance not speaking/playing audio in some cars
I am having an issue with the code that I posted below. I capture voice in my CarPlay app, then allow the user to have it read back to them using AVSpeechUtterance. This works fine on some cars, but many of my beta testers report no audio being played. I have also experienced this in a rental car where the audio was either too quiet or the audio didn't play. Does anyone see any issue with the code that I posted? This is for CarPlay specifically. class CarPlayTextToSpeechService: NSObject, ObservableObject, AVSpeechSynthesizerDelegate { private var speechSynthesizer = AVSpeechSynthesizer() static let shared = CarPlayTextToSpeechService() /// Completion callback private var completionCallback: (() -> Void)? override init() { super.init() speechSynthesizer.delegate = self } func configureAudioSession() { do { try AVAudioSession.sharedInstance().setCategory(.playback, mode: .voicePrompt, options: [.duckOthers, .interruptSpokenAudioAndMixWithOthers, .allowBluetoothHFP]) } catch { prin
Replies
2
Boosts
0
Views
280
Activity
Dec ’25
Reply to CarPlay: AVSpeechUtterance not speaking/playing audio in some cars
I also having an issue with AVSpeechUtterance on CarPlay, specifically on Wireless Carplay. Im getting an error IPCAUClient.cpp:129 IPCAUClient: bundle display name is nil or IPCAUClient.cpp:139 IPCAUClient: can't connect to server (-66748) after speechSynthesizer.speak(speechUtterance) and my audio is not being played or all the audio, including from other app audio become very choppy.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Dec ’25
Reply to WiFi aware demo paring issue
We are also facing similar issue the follow-up frames I send are not receiving any response. . Did you get any response from apple or breakthrough for this? As per my understanding, once initiate bootstrapping follow up frame and apple device respond with follow up frame. it may be pop up pin which need to use for PASN exchange later.
Replies
Boosts
Views
Activity
Dec ’25
UIBarButtonItem-The background color of UIBarButtonItem is missing?
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; backBtn.frame = CGRectMake(0, 0, 44, 44); [backBtn setImage:[UIImage imageNamed:@back] forState:UIControlStateNormal]; [backBtn addTarget:self action:@selector(gotoBack) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn]; // backItem.hidesSharedBackground = YES; // backItem.tintColor = [UIColor redColor]; self.navigationItem.leftBarButtonItem = backItem; I am using Xcode 26, which is compatible with iOS 26. After I set up the back button of the navigation bar, why are the background colors of the back buttons on some pages gray? When I pushed the new page, after popping back to the current page, the buttons with the gray background turned back to the white background. This issue will also affect the rightBarButtonItem.
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
228
Activity
Dec ’25
Speed AppleTV > Distorted HomePod Audio
Hey everyone. Ever since installed OS26 (and 26.1 now) - whenever I fast play any video on 1.25x, 1.5x, 2x on the AppleTV - the audio gets massively distorted on HomePods. Be it on YouTube, Difuse, or any supporting app. I even tried mirroring from iPhone -same issue. Anyone else experiencing the same? I noticed no posts about troubleshooting.
Replies
2
Boosts
0
Views
112
Activity
Dec ’25
For receiving audio in PushtoTalk, channelManager(_:didActivate:) not called when app receives first push after backgrounding
I'm implementing the PushToTalk framework and have encountered an issue where channelManager(_:didActivate:) is not called under specific circumstances. What works: App is in foreground, receives PTT push → didActivate is called ✅ App receives audio in foreground, then is backgrounded → subsequent pushes trigger didActivate ✅ What doesn't work: App is launched, user joins channel, then immediately backgrounds PTT push arrives while app is backgrounded incomingPushResult is called, I return .activeRemoteParticipant(participant) The system UI shows the speaker name correctly However, didActivate is never called Audio data arrives via WebSocket but cannot be played (no audio session) Setup: Channel joined successfully before backgrounding UIBackgroundModes includes push-to-talk No manual audio session activation (setActive) anywhere in my code AVAudioEngine setup only happens inside didActivate delegate method Issue persists even after channel restoration via channelDescriptor
Replies
6
Boosts
0
Views
445
Activity
Dec ’25
Reply to For receiving audio in PushtoTalk, channelManager(_:didActivate:) not called when app receives first push after backgrounding
And when PTT notification arrives, saving the URL to the audio file in incomingPushResult, then downloading and playing that sound using AVAudioPlayer when didActivate is executed. It's working fine on the foreground, but when the app goes to the background, incomingPushResult is called as expected, but didActivate is not for some reason. Am I missing anything in my setup? Yes. The issue here is that you can't use AVAudioPlayer, as it does its own AudioSession activation. More specifically: It's working fine on the foreground. It works in the foreground app because the foreground app has inherent access to the audio system and can do whatever it wants. However: when the app goes to the background, incomingPushResult is called as expected, but didActivate is not for some reason. ...what happens in the background is that the same activation attempt then occurs and either fails entirely or succeeds (partially) but is then disrupted by callservicesd's own activation. Unfortunately, you'
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25
Roomplan exceeded scene size limit error. (RoomCaptureSession.CaptureError.exceedSceneSizeLimit)
Error: RoomCaptureSession.CaptureError.exceedSceneSizeLimit Apple Documentation Explanation: An error that indicates when the scene size grows past the framework’s limitations. Issue: This error is popping up in my iPhone 14 Pro (128 GB) after a few roomplan scans are done. This error shows up even if the room size is small. It occurs immediately after I start the RoomCaptureSession after the relocalisation of previous AR session (in world tracking configuration). I am having trouble understanding exactly why this error shows and how to debug/solve it. Does anyone have any idea on how to approach to this issue?
Replies
2
Boosts
0
Views
1.3k
Activity
Dec ’25
AVAudioRecorder loses audio recorded before interruption
Hi everyone, I'm running into an issue with AVAudioRecorder when handling interruptions such as phone calls or alarms. Problem: When the app is recording audio and an interruption occurs: I handle the interruption with audioRecorder?.pause() inside AVAudioSession.interruptionNotification (on .began). On .ended, I check for .shouldResume and call audioRecorder?.record() again. The recorder resumes successfully, but only the audio recorded after the interruption is saved. The audio recorded before the interruption is lost, even though I'm using the same file URL and not recreating the recorder. Repro: Start a recording with AVAudioRecorder Simulate a system interruption (e.g., incoming call) Resume recording after the interruption Stop and inspect the output audio file Expected: Full audio (before and after interruption) should be saved. Actual: Only the audio after interruption is saved; the earlier part is missing Notes: According to the documentation, cal
Replies
1
Boosts
0
Views
389
Activity
Dec ’25
How to test SignificantChange Permission Ask
I'm developing for compliance with Texas law in the United States. Currently, I'm encountering an issue where I want to test the feature point when the app undergoes significant changes, a supervised user initiates a request. However, during actual testing, the app pops up an error message: Can't Ask, An Unknown error occurred. Additionally, I see the following error message in the Xcode Console: Error Domain=AskToCore.ATMessageComposeValidationError Code=4 'The user is in a region that does not support this type of ask.' UserInfo={NSLocalizedFailureReason=The user must be in a supported region to use this feature., NSLocalizedRecoverySuggestion=Please ensure the user is in an eligible region., NSLocalizedDescription=The user is in a region that does not support this type of ask.} I am indeed not in the Texas region. I want to conduct full-process testing before the feature is released to the App Store. What should I do? Apart from Sandbox testing (which, in fact, doesn't show any pop-ups either), ho
Replies
2
Boosts
0
Views
299
Activity
Dec ’25
Reply to Disconnect from AirPlay device programmatically
Hello @DTS Engineer ! I would like to add that there is another, maybe related, issue. When a user uses AirPlay to stream a video from another app and opens video in my app, which is intended to play only on device - everything works as expected. But when a user opens a video in my app, which is allowed to be played through AirPlay, plays it on external screen, than closes a video, but does not disconnect AirPlay, and opens another screen where plays a video, that should stay on device, audio of that video starts to play through AirPlay. The same situation when there are 2 players on the second screen, where one plays video without audio and the other plays only audio. Player with only audio starts playback on external screen. I wonder if there is a way to signal to AVPlayer to stop trying to use AirPlay for other players, because ‘allowsExternalPlayback = false’ does not work and audio still tries to play through AirPlay. Thank you!
Topic: Media Technologies SubTopic: Streaming Tags:
Replies
Boosts
Views
Activity
Dec ’25
Reply to Disconnect from AirPlay device programmatically
Hello @erawq, There is no reliable way to disconnect your app's audio playback from an AirPlay route (aside from the user taking action to change the route in Control Center for example). From AVAudioSessionTypes.h: - AVAudioSessionCategoryPlayAndRecord: /// DefaultToSpeaker will default to false, but >can be set to true, routing to Speaker /// (instead of Receiver) when no other audio route is connected. The key phrasing here is (instead of Receiver) when no other audio route is connected. In other words: try audioSession.setCategory(.playAndRecord, options: .defaultToSpeaker) This call is only expected to have an effect when audio is currently being routed to the device's receiver (the speaker which on most devices is at the top near the front-facing camera). In your case, audio is being routed to an AirPlay route, so it is expected that this call should not have an effect. If you would like the capability of programmatically disconnecting from an AirPlay rout
Topic: Media Technologies SubTopic: Streaming Tags:
Replies
Boosts
Views
Activity
Dec ’25
Reply to Sound not working on testflight / Appstore
Thanks, i figure the issue is on the flutter side but just wanted to check here if there is any way its possible for the audio to stop working only when downloading through test flight / app store And yes that is correct to your first statement
Replies
Boosts
Views
Activity
Dec ’25