Search results for

“Popping Sound”

20,037 results found

Post

Replies

Boosts

Views

Activity

Is there any way to control alarm volume independently when using AlarmKit?
Is there any supported or recommended way to achieve user-configurable alarm volume while still using AlarmKit? Hi there! I’m currently building an alarm app on iOS using AlarmKit, and I’m running into a fundamental limitation around volume control. When using AlarmKit, alarm sounds are played at the system ringer volume. My goal is simple in concept: Allow users to set an alarm volume inside the app, and have the alarm sound play at that volume when triggered. However, AlarmKit does not provide any API to control or override the alarm volume. I’ve explored several approaches(AVSystemController, MPVolumeView...), but none achieved the desired result. Is there any supported or recommended way to achieve user-configurable alarm volume while still using AlarmKit? Any insights from developers who’ve shipped alarm apps, or from Apple engineers, would be greatly appreciated. Thanks in advance 🙏
1
0
347
Jan ’26
Reply to Is there any way to control alarm volume independently when using AlarmKit?
Thank you for your question. The volume control of third-party applications is primarily managed by the user, not the developer. AlarmKit does not directly support volume customization beyond utilizing the system ringer volume. As far as I can see, there is no API in AlarmKit that allows for volume modification neither. Given that AlarmKit does not support volume control, consider using it to handle audio playback for alarms. This approach provides you with complete control over the audio, including volume settings. You can schedule local notifications to trigger an alert, and when the notification is triggered, use or to play your custom alarm sound at a user-defined volume. Hope this helps and answers your questions, you can file an enhancement request if you want. Albert Pascual
  Worldwide Developer Relations.
Topic: App & System Services SubTopic: General Tags:
Jan ’26
Xcode Simulator causes Mac audio crackling and distortion
[Submitted as FB20950954] Xcode Simulator causes crackling and distortion in audio playback across all apps (Apple Podcasts, Music, third-party). REPRO STEPS Open any audio app and start playback Note the audio quality Launch Xcode Simulator After a few seconds, note audio quality again Quit Xcode Simulator Audio returns to normal CURRENT Audio has crackling and distortion while Simulator is running. EXPECTED Clean audio playback regardless of whether Simulator is running. SYSTEM INFO macOS 26.1 (25B78) Xcode 26.1 (17B55) Simulator 26.0 (1058)
3
0
292
Jan ’26
Stumped by URLSession behaviour I don't understand...
I have an app that has been using the following code to down load audio files: if let url = URL(string: episode.fetchPath()) { var request = URLRequest(url: url) request.httpMethod = get let task = session.downloadTask(with: request) And then the following completionHandler code: func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) { try FileManager.default.moveItem(at: location, to: localUrl) In the spirit of modernization, I'm trying to update this code to use async await: var request = URLRequest(url: url) request.httpMethod = get let (data, response) = try await URLSession.shared.data(for: request) try data.write(to: localUrl, options: [.atomicWrite, .completeFileProtection]) Both these code paths use the same url value. Both return the same Data blobs (they return the same hash value) Unfortunately the second code path (using await) introduces a problem. When the audio is playing and the iPhone goes to sleep, after 15 seconds
7
0
593
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
What Kevin said plus… It’s reasonable to use different approaches for different subsystems in your app. For example: If you’re fetching an audio file to play immediately, a standard session is probably best. Critically, it results in the least latency, which is important because you’re actively playing that audio. And while this requires your app to not suspend, that’s OK because you’re playing audio. If you’re downloading a large file that the user isn’t actively playing, a background session makes sense. If you’re scanning for updates, you could use a background processing task. This typically runs overnight, which is fine because the user isn’t expecting the results immediately. Unless they bring your app to the foreground and tap the refresh button, in which case you might run the same code immediately. And you can then use a continued processing task to complete the refresh. But that’s just one way to slice this. You have lots of options and it’s kinda up to you to decide which
Jan ’26
Pending Termination Notice and App Removed from Store
Hi, I published my first app (a Unity game) in August 2025, and at the start of December I began promoting it and getting users. I’ve submitted around 10 updates since release, and each has been approved. It was sitting at a 4.8 star rating from roughly 80 ratings. It’s a simple endless runner style game called “Rushy Road” where you drive a car down a road, dodging traffic and collecting powerups to try and make it as far as you can, with different unlockable vehicles and upgrades. However, my app was just suddenly removed from the App Store and I received a Pending Termination Notice saying: “Upon further review of the activity associated with your Apple Developer Program membership, it's been determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity, in violation of the Apple Developer Program License Agreement. Given the severity of the identified issues, all apps associated with your Apple Developer Program account have been removed
1
0
137
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Jumping in with some thoughts from the background execution side... The code that does this work has multiple URLSession callbacks, state information, and multiple error cases that need to be handled. The flow is a bit complex. I thought this functionality would be better implemented using a single code path with async/await. At this point, based on what I've learned here, it feels like async/await won't meet my needs because I want them to continue if the app moves to the background. No, I don’t think the async/await architecture itself is really a factor. Background execution operates at the process level, and, in general, a process that's awake works the same way a backgrounded process does. There are a few exceptions (notably, access to the GPU), but, in general, background execution issues are about keeping your app awake, NOT what it can do once it's awake. That's PARTICULARLY true of the audio background category. Expanding on what Quinn said here: Background audio is the most straigh
Jan ’26
Reply to CarPlay navigation issue, maximum depth
I got an answer directly from Apple: You've hit upon one of the most common and often confusing limitations in CarPlay development, the template stack depth limit. For most CarPlay apps, the navigation stack depth is limited to two templates. This means you can have a root template, and then push one more template on top of it. Attempting to push a third template will result in the maximum level exception you're seeing. Apple's first-party apps (like Music, Maps, Phone) often have special entitlements and UI paradigms that are not available to third-party developers, my apologies. Third-party apps that qualify for specific categories (e.g., audio, navigation, EV charging, parking, food ordering) can use CPTabBarTemplate, but even then, each tab's stack is still limited to two. Yes, the crash reports and the maximum level exception are clear indicators of exceeding the template stack depth. This is not a bug in your code's logic, but rather a design constraint imposed by CarPlay for safety reasons. Si
Topic: Design SubTopic: General Tags:
Jan ’26
Reply to LiDAR Projector Pattern iPhone 15 Pro vs. 12 Pro – Research Project Question
Thank you for reaching out and sharing your excellent research project! It's fantastic to see your dedication to understanding the intricacies of Apple's LiDAR technology, especially as a high school student. Your current understanding of dToF, SPAD detectors, VCSEL, and DOEs is very impressive and shows a solid grasp of the core concepts. I would recommend to work on general LiDAR technology instead of just Apple’s implementation. Regarding your specific questions, while we appreciate your detailed experimental observations, please understand that many of the specifics you're asking about involve proprietary hardware designs and internal processing details that Apple does not publicly disclose. While we truly appreciate your enthusiasm and the depth of your interest, I am unable to facilitate direct contact between external individuals and our internal engineering teams or specialists for LiDAR. Our engineers are focused on product development, and direct engagement in this manner is not part of our standard
Topic: Spatial Computing SubTopic: ARKit Tags:
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Thank you @DTS Engineer for the energy you put into helping us write better code, I really appreciate your commitment to this. I had a couple of mostly unrelated points/responses I want to give a bit of background to describe my original goals/intentions (just in case there is a better option I have not considered) Something interesting my 'research' uncovered Background I've created an app for fetching and listening to podcasts. It includes a scan function that: scans subscribed podcasts to see if there are known episodes it should download makes api calls to fetch podcast metadata to see if there are any 'new' episodes fetch these new episodes if we aren't currently storing too much new content (eg just because we have meta data for 10 episodes that are 2 hours each, don't download them all right away) The code that does this work has multiple URLSession callbacks, state information and multiple error cases that need to be handled. The flow is a bit complex. I thought this functionality would be better impl
Jan ’26
Reply to Foundation Model Framework
I started seeing this after I updated my Mac (and XCode) to 26.2. To clarify, are you saying that I must use iOS version 26.2 with in Simulator if I am developing with Foundation Models now? I have been developing my app for iOS 26.0 and above and all of my calls to Foundation Models now give this error. I can't develop for 26.0 now? That doesn't seem right. That's correct, and here's why: The underlying problem is that Simulator doesn't actually have a copy of the model. When you make calls to the SystemLanguageModel, simulator is actually popping out to call the model on your Mac. ...But the model on your Mac is for 26.2. So unfortunately, you'll get these weird errors unless your Simulator and Mac are targeting matching versions.
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Background execution is tricky on iOS. I’ve collected together a bunch of links to useful resources in Background Tasks Resources. Specifically, make sure you read Testing and Debugging Code Running in the Background. [quote='813041021, mikeTheDad, /thread/813041, /profile/mikeTheDad'] I would like to use async/await and not have to experience the audio ending after just 15 seconds of the device screen being asleep. [/quote] You’re wrangling two completely separate axes of background execution here: Background audio URLSession Background audio is the most straightforward, at least conceptually: If your app supports background audio (UIBackgroundModes contains audio) and you start playing in the foreground, iOS will keep your app executing as it moves between the foreground and background as long as your app continues to play audio. Note I can only help you with the conceptual side of this. The actual mechanics of audio playback are outside my area
Jan ’26
Video/audio pauses automatically in WKWebView after app returns from background
We are embedding TikTok Live streams inside our iOS app using WKWebView. The Live stream loads and plays normally at first. However, when the app goes to the background (for example, user presses the Home button or switches apps) and then returns to the foreground, the TikTok Live video and audio become paused and do not resume automatically. Expected behavior When the app returns from the background to the foreground, the video/audio should resume playback automatically Actual behavior Video/audio pauses after app resumes from background Any guidance would be greatly appreciated. Thank you.
Topic: Safari & Web SubTopic: General Tags:
1
0
305
Jan ’26
Is there any way to control alarm volume independently when using AlarmKit?
Is there any supported or recommended way to achieve user-configurable alarm volume while still using AlarmKit? Hi there! I’m currently building an alarm app on iOS using AlarmKit, and I’m running into a fundamental limitation around volume control. When using AlarmKit, alarm sounds are played at the system ringer volume. My goal is simple in concept: Allow users to set an alarm volume inside the app, and have the alarm sound play at that volume when triggered. However, AlarmKit does not provide any API to control or override the alarm volume. I’ve explored several approaches(AVSystemController, MPVolumeView...), but none achieved the desired result. Is there any supported or recommended way to achieve user-configurable alarm volume while still using AlarmKit? Any insights from developers who’ve shipped alarm apps, or from Apple engineers, would be greatly appreciated. Thanks in advance 🙏
Replies
1
Boosts
0
Views
347
Activity
Jan ’26
Reply to Is there any way to control alarm volume independently when using AlarmKit?
Thank you for your question. The volume control of third-party applications is primarily managed by the user, not the developer. AlarmKit does not directly support volume customization beyond utilizing the system ringer volume. As far as I can see, there is no API in AlarmKit that allows for volume modification neither. Given that AlarmKit does not support volume control, consider using it to handle audio playback for alarms. This approach provides you with complete control over the audio, including volume settings. You can schedule local notifications to trigger an alert, and when the notification is triggered, use or to play your custom alarm sound at a user-defined volume. Hope this helps and answers your questions, you can file an enhancement request if you want. Albert Pascual
  Worldwide Developer Relations.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26
Xcode Simulator causes Mac audio crackling and distortion
[Submitted as FB20950954] Xcode Simulator causes crackling and distortion in audio playback across all apps (Apple Podcasts, Music, third-party). REPRO STEPS Open any audio app and start playback Note the audio quality Launch Xcode Simulator After a few seconds, note audio quality again Quit Xcode Simulator Audio returns to normal CURRENT Audio has crackling and distortion while Simulator is running. EXPECTED Clean audio playback regardless of whether Simulator is running. SYSTEM INFO macOS 26.1 (25B78) Xcode 26.1 (17B55) Simulator 26.0 (1058)
Replies
3
Boosts
0
Views
292
Activity
Jan ’26
Stumped by URLSession behaviour I don't understand...
I have an app that has been using the following code to down load audio files: if let url = URL(string: episode.fetchPath()) { var request = URLRequest(url: url) request.httpMethod = get let task = session.downloadTask(with: request) And then the following completionHandler code: func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) { try FileManager.default.moveItem(at: location, to: localUrl) In the spirit of modernization, I'm trying to update this code to use async await: var request = URLRequest(url: url) request.httpMethod = get let (data, response) = try await URLSession.shared.data(for: request) try data.write(to: localUrl, options: [.atomicWrite, .completeFileProtection]) Both these code paths use the same url value. Both return the same Data blobs (they return the same hash value) Unfortunately the second code path (using await) introduces a problem. When the audio is playing and the iPhone goes to sleep, after 15 seconds
Replies
7
Boosts
0
Views
593
Activity
Jan ’26
Reply to Am I allowed to use Speech framework on Swift Student Challenge?
Hi, We're able to implement the speech framework. For some reason my app crashes when clicking Allow for the Speech permission pop up. Upon rebuilding it works fine, as the permission appears as granted.
Replies
Boosts
Views
Activity
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
What Kevin said plus… It’s reasonable to use different approaches for different subsystems in your app. For example: If you’re fetching an audio file to play immediately, a standard session is probably best. Critically, it results in the least latency, which is important because you’re actively playing that audio. And while this requires your app to not suspend, that’s OK because you’re playing audio. If you’re downloading a large file that the user isn’t actively playing, a background session makes sense. If you’re scanning for updates, you could use a background processing task. This typically runs overnight, which is fine because the user isn’t expecting the results immediately. Unless they bring your app to the foreground and tap the refresh button, in which case you might run the same code immediately. And you can then use a continued processing task to complete the refresh. But that’s just one way to slice this. You have lots of options and it’s kinda up to you to decide which
Replies
Boosts
Views
Activity
Jan ’26
Pending Termination Notice and App Removed from Store
Hi, I published my first app (a Unity game) in August 2025, and at the start of December I began promoting it and getting users. I’ve submitted around 10 updates since release, and each has been approved. It was sitting at a 4.8 star rating from roughly 80 ratings. It’s a simple endless runner style game called “Rushy Road” where you drive a car down a road, dodging traffic and collecting powerups to try and make it as far as you can, with different unlockable vehicles and upgrades. However, my app was just suddenly removed from the App Store and I received a Pending Termination Notice saying: “Upon further review of the activity associated with your Apple Developer Program membership, it's been determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity, in violation of the Apple Developer Program License Agreement. Given the severity of the identified issues, all apps associated with your Apple Developer Program account have been removed
Replies
1
Boosts
0
Views
137
Activity
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Jumping in with some thoughts from the background execution side... The code that does this work has multiple URLSession callbacks, state information, and multiple error cases that need to be handled. The flow is a bit complex. I thought this functionality would be better implemented using a single code path with async/await. At this point, based on what I've learned here, it feels like async/await won't meet my needs because I want them to continue if the app moves to the background. No, I don’t think the async/await architecture itself is really a factor. Background execution operates at the process level, and, in general, a process that's awake works the same way a backgrounded process does. There are a few exceptions (notably, access to the GPU), but, in general, background execution issues are about keeping your app awake, NOT what it can do once it's awake. That's PARTICULARLY true of the audio background category. Expanding on what Quinn said here: Background audio is the most straigh
Replies
Boosts
Views
Activity
Jan ’26
Reply to CarPlay navigation issue, maximum depth
I got an answer directly from Apple: You've hit upon one of the most common and often confusing limitations in CarPlay development, the template stack depth limit. For most CarPlay apps, the navigation stack depth is limited to two templates. This means you can have a root template, and then push one more template on top of it. Attempting to push a third template will result in the maximum level exception you're seeing. Apple's first-party apps (like Music, Maps, Phone) often have special entitlements and UI paradigms that are not available to third-party developers, my apologies. Third-party apps that qualify for specific categories (e.g., audio, navigation, EV charging, parking, food ordering) can use CPTabBarTemplate, but even then, each tab's stack is still limited to two. Yes, the crash reports and the maximum level exception are clear indicators of exceeding the template stack depth. This is not a bug in your code's logic, but rather a design constraint imposed by CarPlay for safety reasons. Si
Topic: Design SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to LiDAR Projector Pattern iPhone 15 Pro vs. 12 Pro – Research Project Question
Thank you for reaching out and sharing your excellent research project! It's fantastic to see your dedication to understanding the intricacies of Apple's LiDAR technology, especially as a high school student. Your current understanding of dToF, SPAD detectors, VCSEL, and DOEs is very impressive and shows a solid grasp of the core concepts. I would recommend to work on general LiDAR technology instead of just Apple’s implementation. Regarding your specific questions, while we appreciate your detailed experimental observations, please understand that many of the specifics you're asking about involve proprietary hardware designs and internal processing details that Apple does not publicly disclose. While we truly appreciate your enthusiasm and the depth of your interest, I am unable to facilitate direct contact between external individuals and our internal engineering teams or specialists for LiDAR. Our engineers are focused on product development, and direct engagement in this manner is not part of our standard
Topic: Spatial Computing SubTopic: ARKit Tags:
Replies
Boosts
Views
Activity
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Thank you @DTS Engineer for the energy you put into helping us write better code, I really appreciate your commitment to this. I had a couple of mostly unrelated points/responses I want to give a bit of background to describe my original goals/intentions (just in case there is a better option I have not considered) Something interesting my 'research' uncovered Background I've created an app for fetching and listening to podcasts. It includes a scan function that: scans subscribed podcasts to see if there are known episodes it should download makes api calls to fetch podcast metadata to see if there are any 'new' episodes fetch these new episodes if we aren't currently storing too much new content (eg just because we have meta data for 10 episodes that are 2 hours each, don't download them all right away) The code that does this work has multiple URLSession callbacks, state information and multiple error cases that need to be handled. The flow is a bit complex. I thought this functionality would be better impl
Replies
Boosts
Views
Activity
Jan ’26
Reply to Foundation Model Framework
I started seeing this after I updated my Mac (and XCode) to 26.2. To clarify, are you saying that I must use iOS version 26.2 with in Simulator if I am developing with Foundation Models now? I have been developing my app for iOS 26.0 and above and all of my calls to Foundation Models now give this error. I can't develop for 26.0 now? That doesn't seem right. That's correct, and here's why: The underlying problem is that Simulator doesn't actually have a copy of the model. When you make calls to the SystemLanguageModel, simulator is actually popping out to call the model on your Mac. ...But the model on your Mac is for 26.2. So unfortunately, you'll get these weird errors unless your Simulator and Mac are targeting matching versions.
Replies
Boosts
Views
Activity
Jan ’26
Reply to Stumped by URLSession behaviour I don't understand...
Background execution is tricky on iOS. I’ve collected together a bunch of links to useful resources in Background Tasks Resources. Specifically, make sure you read Testing and Debugging Code Running in the Background. [quote='813041021, mikeTheDad, /thread/813041, /profile/mikeTheDad'] I would like to use async/await and not have to experience the audio ending after just 15 seconds of the device screen being asleep. [/quote] You’re wrangling two completely separate axes of background execution here: Background audio URLSession Background audio is the most straightforward, at least conceptually: If your app supports background audio (UIBackgroundModes contains audio) and you start playing in the foreground, iOS will keep your app executing as it moves between the foreground and background as long as your app continues to play audio. Note I can only help you with the conceptual side of this. The actual mechanics of audio playback are outside my area
Replies
Boosts
Views
Activity
Jan ’26
Video/audio pauses automatically in WKWebView after app returns from background
We are embedding TikTok Live streams inside our iOS app using WKWebView. The Live stream loads and plays normally at first. However, when the app goes to the background (for example, user presses the Home button or switches apps) and then returns to the foreground, the TikTok Live video and audio become paused and do not resume automatically. Expected behavior When the app returns from the background to the foreground, the video/audio should resume playback automatically Actual behavior Video/audio pauses after app resumes from background Any guidance would be greatly appreciated. Thank you.
Topic: Safari & Web SubTopic: General Tags:
Replies
1
Boosts
0
Views
305
Activity
Jan ’26
Reply to Video/audio pauses automatically in WKWebView after app returns from background
We had the same issue. We solved it by using visibilitychange, which allowed us to confirm the video and audio state and control media playback. Have a great rest of your day. Thank you.
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’26