Search results for

“Popping Sound”

20,037 results found

Post

Replies

Boosts

Views

Activity

Frequent providerDidReset Callbacks in Production
Hello, We're seeing a high rate of providerDidReset callbacks in production across a large user base (iOS 16, 17, 18, and 26). I'd like to understand both the correct way to handle this delegate method and strategies to reduce its frequency. Background The callback occurs across all iOS versions we support and is not isolated to a specific device or region. The callback can occur in any app state (foreground, background, inactive), however it is most dominant in the background state — particularly during VoIP push notification handling. The callback is more prevalent during long app sessions — for example, when the app has been running continuously for a day or overnight. We do not call CXProvider.invalidate() anywhere in our codebase explicitly. After providerDidReset fires, subsequent transactions fail with CXErrorCodeRequestTransactionErrorUnknownCallUUID (error code 4). Re-initializing the provider via initializeProvider() resolves this error. Our Implementation We use a singleton proxy class (CallKitProx
1
0
146
4w
Reply to NSFileManager getRelationship:ofDirectoryAtURL:toItemAtURL:error: returning NSURLRelationshipSame for Different Directories
I'm surprised that a fileReferenceURL would be cached in a filePathURL at all. My expectation is when calling fileReferenceURL on a file path URL is to get a reference to the file at the exact file path right now if it is there (or nil) and I would have to hold the fileReferenceURL on first access to follow the file around. I can understand that thinking, but it's not the system’s perspective. The system’s view here is that the file reference is considered more authoritative than the path. The reason for this is pretty simple- it's easy for an app to track a path (just store it as a string), but the only way an app can track a file system object is by doing what file references do. The preference for the reference object also ends up masking also sort of common behaviors which would otherwise be highly disruptive. For example, it allows users to rename directories without having to worry about the consequence that might have on whatever files their apps might happen to be interacting with. Based on your previ
Topic: App & System Services SubTopic: Core OS Tags:
4w
Reply to Massive CoreML latency spike on live AVFoundation camera feed vs. offline inference (CPU+ANE)
I am not familiar with the available AVCapture options, but if you find a case where there is no way to disable features that you are not using please file a feedback report using Feedback Assistant. You should be able to use the Core ML Instruments template to see what other work is executing on the neural engine and identify what feature it may be related to and if you have successfully disabled it. Neural engine utilization As you've noticed, the neural engine is not overloaded in total utilization (only 7%). The issue happens because both your code and AVFoundation are trying to use the neural engine at the same time. If AVFoundation runs first, your Core ML work will need to wait for the earlier inference to finish before it can execute. The first step is to try to avoid the neural engine work from AVFoundation (or as I mentioned, file a feedback report if you find this is not possible). Alternatively you could try to pipeline or offset your work to avoid the contention (although this may add undesirable
Topic: Machine Learning & AI SubTopic: Core ML Tags:
4w
Reply to FileManager.replaceItemAt(_:withItemAt:) fails sporadically on ubiquitous items
Thanks again for the reply, and especially for such a thorough and helpful one! For example, I suspect this doesn't happen if you start with a security-scoped bookmark, which you resolve to a bookmark before each save. Out of curiosity I just tested this, and I still see the bug. To see it yourself, just use the code from my first post but change the savingURL accessor to use a security-scoped bookmark, as follows: private var bookmarkData: Data? // Ask user to choose this via a save panel. var savingURL: URL? { get { var isStale = false if let bookmarkData, let url = try? URL(resolvingBookmarkData: bookmarkData, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: &isStale) { if isStale { // Should really update the bookmark data here... } return url } else { return nil } } set(newURL) { bookmarkData = try? newURL?.bookmarkData(options: .withSecurityScope) setUpSpamSave() } } Then add the following to the top of spamSave() after checking savingURL is non-nil: let didAccess = savingURL.start
Topic: App & System Services SubTopic: Core OS Tags:
4w
Reply to NSFileManager getRelationship:ofDirectoryAtURL:toItemAtURL:error: returning NSURLRelationshipSame for Different Directories
Very interesting. Thanks a lot for the detailed responses. As I mentioned briefly in a previous post I stumbled across this commenting out some things to test out an error handling code path. As a result of the matching NSURLFileResourceIdentifierKey the wrong error message was logged. In my app's case this is basically a harmless bug because I do nothing but the behavior did spark my curiousity. In any case I will most likely be removing -getRelationship: calls from app entirely soon. I'm surprised that a fileReferenceURL would be cached in a filePathURL at all. My expectation is when calling fileReferenceURL on a file path url is to get a reference to the file at the exact file path right now if it is there (or nil) and I would have to hold the fileReferenceURL on first access to follow the file around. If caching the fileReferenceURL in the URL itself has been determined to be necessary I'm also somewhat surprised an existing fileReferenceURL isn't cleared/updated when files are manipulated via high level
Topic: App & System Services SubTopic: Core OS Tags:
4w
Reply to Provisional Permission is not working as expected in iOS 16
I observed the same for iOS 18. There is a partial workaround: when authorization status is .notDetermined, request only .provisional authorization when authorization status is .authorized (i.e. after the user chose Keep), request [.alert, .badge, .sound] This way you at least get support for badges and sound, but it is still bad because the Lock screen and Banner settings will still be disabled and I think there is no way to re-request them programmatically. Unfortunately this makes provisional authorization kind of undesirable for many use cases.
Mar ’26
Provisional Permission is not working as expected in iOS 16
We recently developed the provisional permission for our app, but we have noticed that is not working as expected in iOS 16 (We have tested only there). Currently we request the permissions like this: UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound, .provisional]) { [weak self] _, _ in // here we register for pushes in case authorizationStatus is provisional or authorised } What happens is we do get the 1st notification with the keep CTA - once tapped we see that there pops an action: Deliver Immediately, but even though the user selects that, we still see under setting the pushes are marked as Deliver Quietly. In addition to this the sound and bage still stay as toggled off - and the lock screen and banner as well stay off. Basically, nothing changes after the user selects Deliver Immediately
1
0
846
Mar ’26
Reply to Push notifications not delivered over Wi-Fi with includeAllNetworks = true regardless of excludeAPNS setting
[quote='817434021, pawanquantum, /thread/817434, /profile/pawanquantum'] while the tunnel is active in a pre-MFA quarantine state [/quote] I’d like to clarify my understanding of this. First up, what does “MFA” stand for in this context? Second, it sounds like your concerned about this sequence: The system wants to bring up the tunnel. So it instantiates your provider and calls the startTunnel(…) method. Your provider opens a connect to your VPN server. And then calls setTunnelNetworkSettings(…) to bring up the tunnel. However, the tunnel isn’t really up at this point, in that your VPN server won’t forward packets to the networks that the tunnel claims. Is that right? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Mar ’26
Reply to Calling a Objc method directly from C
Calling Objective-C directly from C is certainly possible and can simplify your codebase by eliminating intermediate layers. Additionally, using Grand Central Dispatch (GCD) to manage thread safety and dispatch tasks to Objective-C contexts is a sound approach. Below, I'll outline how you can achieve this, maintaining thread safety and leveraging GCD effectively. Direct Objective-C Function Call from C Assuming you have an Objective-C method you want to call directly from C, you can use the Objective-C runtime functions to achieve this. Here's a step-by-step guide: Objective-C Method Declaration First, ensure your Objective-C method is declared properly. For example: @interface Renderer : NSObject (void)mtlEnd; @end C Function to Call Objective-C Method You can define a C function that uses the Objective-C runtime to call the mtlEnd method: #include void mtlEnd(MTRenderContext mt_ctx) { // Retrieve the class of the render context Class rendererClass = mt_ctx->mt_render_funcs.mtlObj.isa; // Get th
Topic: Programming Languages SubTopic: General Tags:
Feb ’26
Waiting for review 16 days
I am out of my strengths, out of will. Its been over 16 days when i posted my app to review. Apple doesnt react to email nor speed-up procedure requests. Its all pointless. Sorry if i sound too much dramatic but I dont see it other way. Apple doesnt reviews apps anymore. Maybe its because AI apps overflow or something else but truth is that i have seen a lot people experience the same. App doesnt have any crazy permissions nor crazy features. Small MVP app and still its waiting. Have this happened to you ?
2
0
95
Feb ’26
Unable to trigger AudioRecordingIntent from background
I am building an app where I am using AudioRecordingIntent to start audio recording from shortcuts / Action button etc. Whenever I set that up, I notice that I get an error - Unknown NSError Live Activity start failed: The operation couldn’t be completed. Target is not foreground I explicitly try to start the live activity and then start the audio recording and that's when I see this error. How can I make this work? I am unable to find any examples.
1
0
107
Feb ’26
Reply to Unable to trigger AudioRecordingIntent from background
Hi there, The error you are seeing is actually expected behavior due to iOS privacy and security restrictions. Apple strictly prevents apps from initiating an AVAudioSession for recording from a completely backgrounded state. Because of these privacy constraints, you cannot start an audio recording from scratch using an intent (like via a Shortcut or the Action Button) if the app isn't already active. How to make this work: To use an AudioRecordingIntent alongside a Live Activity, the recording session must originally be initiated while the app is in the foreground. Once the session is running and the user backgrounds the app, you can then manage it: Pause and Resume: You can manually pause the recording from the background using a button on your Live Activity. Once paused, you can use an intent triggered from the Live Activity to resume the recording. System Interruptions: If your active background recording is interrupted by the OS (e.g., an incoming phone call, an alarm, or Siri), you can provide
Feb ’26
Reply to On M4 macmini, Xcode 26 cannot debug iOS 12 on iPhone 6
iOS 15 is the minimum supported device for debugging. It sounds like you found at least one of the places where this is documented, the Xcode Support page, in addition to the Xcode 26 Release Notes. For anything older than iOS 15 where you found that you can still connect the debugger to your app with Xcode 26, please consider that a happy convenience for yourself at this time, but you also should not rely on it, and instead look at moving yourself up to the documented minimum supported configurations. — Ed Ford,  DTS Engineer
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
I can’t really help you with MDM stuff. If you need help in that space, you can try over in Business & Education > Device Management but you might have more luck over in the Apple Support Community, run by Apple Support, and specifically in the Business and Education topic areas. However, I can help you with this: [quote='877476022, Leo_Nagano, /thread/815340?answerId=877476022#877476022, /profile/Leo_Nagano'] on that MDM‑managed macOS 14.4 (Apple Silicon) device the app still cannot be launched. [/quote] That sounds less like an MDM issue and more like a Gatekeeper issue. [quote='877476022, Leo_Nagano, /thread/815340?answerId=877476022#877476022, /profile/Leo_Nagano'] codesign -dvv confirms the app is signed with our Developer ID Application certificate and has … [/quote] I see no mention of the App ID (com.apple.application-identifier) and Team ID (com.apple.developer.team-identifier) entitlements. Any app that uses restricted entitlement should be signed with those entitlements because they
Feb ’26
Reply to iOS Mac OS Portal Detection over Wi-Fi: no DNS A Query
It sounds like you're encountering a known issue related to how iOS handles captive portals, particularly when websites are only accessible via IPv4. Apple has been aware of certain behaviors where iOS might prioritize IPv6 over IPv4, leading to incomplete captive portal experiences if the necessary IPv4 infrastructure isn't present. Here are a few points and potential workarounds you might consider: Understanding the Behavior: iOS is designed to prefer IPv6 when both are available because it's generally faster and more efficient. However, this can cause issues on networks that only support IPv4 for certain services, like captive portal pages. iOS and iPadOS Versions: Apple has made various improvements to captive portal handling across different iOS versions. While I don't have specific details on version 36.2, issues related to IPv6 preference have been addressed in updates prior to and possibly after this version. Ensuring your devices are running the latest compatible version of iOS/iPadOS is alw
Feb ’26
Frequent providerDidReset Callbacks in Production
Hello, We're seeing a high rate of providerDidReset callbacks in production across a large user base (iOS 16, 17, 18, and 26). I'd like to understand both the correct way to handle this delegate method and strategies to reduce its frequency. Background The callback occurs across all iOS versions we support and is not isolated to a specific device or region. The callback can occur in any app state (foreground, background, inactive), however it is most dominant in the background state — particularly during VoIP push notification handling. The callback is more prevalent during long app sessions — for example, when the app has been running continuously for a day or overnight. We do not call CXProvider.invalidate() anywhere in our codebase explicitly. After providerDidReset fires, subsequent transactions fail with CXErrorCodeRequestTransactionErrorUnknownCallUUID (error code 4). Re-initializing the provider via initializeProvider() resolves this error. Our Implementation We use a singleton proxy class (CallKitProx
Replies
1
Boosts
0
Views
146
Activity
4w
Reply to NSFileManager getRelationship:ofDirectoryAtURL:toItemAtURL:error: returning NSURLRelationshipSame for Different Directories
I'm surprised that a fileReferenceURL would be cached in a filePathURL at all. My expectation is when calling fileReferenceURL on a file path URL is to get a reference to the file at the exact file path right now if it is there (or nil) and I would have to hold the fileReferenceURL on first access to follow the file around. I can understand that thinking, but it's not the system’s perspective. The system’s view here is that the file reference is considered more authoritative than the path. The reason for this is pretty simple- it's easy for an app to track a path (just store it as a string), but the only way an app can track a file system object is by doing what file references do. The preference for the reference object also ends up masking also sort of common behaviors which would otherwise be highly disruptive. For example, it allows users to rename directories without having to worry about the consequence that might have on whatever files their apps might happen to be interacting with. Based on your previ
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
4w
Reply to Massive CoreML latency spike on live AVFoundation camera feed vs. offline inference (CPU+ANE)
I am not familiar with the available AVCapture options, but if you find a case where there is no way to disable features that you are not using please file a feedback report using Feedback Assistant. You should be able to use the Core ML Instruments template to see what other work is executing on the neural engine and identify what feature it may be related to and if you have successfully disabled it. Neural engine utilization As you've noticed, the neural engine is not overloaded in total utilization (only 7%). The issue happens because both your code and AVFoundation are trying to use the neural engine at the same time. If AVFoundation runs first, your Core ML work will need to wait for the earlier inference to finish before it can execute. The first step is to try to avoid the neural engine work from AVFoundation (or as I mentioned, file a feedback report if you find this is not possible). Alternatively you could try to pipeline or offset your work to avoid the contention (although this may add undesirable
Topic: Machine Learning & AI SubTopic: Core ML Tags:
Replies
Boosts
Views
Activity
4w
Reply to FileManager.replaceItemAt(_:withItemAt:) fails sporadically on ubiquitous items
Thanks again for the reply, and especially for such a thorough and helpful one! For example, I suspect this doesn't happen if you start with a security-scoped bookmark, which you resolve to a bookmark before each save. Out of curiosity I just tested this, and I still see the bug. To see it yourself, just use the code from my first post but change the savingURL accessor to use a security-scoped bookmark, as follows: private var bookmarkData: Data? // Ask user to choose this via a save panel. var savingURL: URL? { get { var isStale = false if let bookmarkData, let url = try? URL(resolvingBookmarkData: bookmarkData, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: &isStale) { if isStale { // Should really update the bookmark data here... } return url } else { return nil } } set(newURL) { bookmarkData = try? newURL?.bookmarkData(options: .withSecurityScope) setUpSpamSave() } } Then add the following to the top of spamSave() after checking savingURL is non-nil: let didAccess = savingURL.start
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
4w
Reply to NSFileManager getRelationship:ofDirectoryAtURL:toItemAtURL:error: returning NSURLRelationshipSame for Different Directories
Very interesting. Thanks a lot for the detailed responses. As I mentioned briefly in a previous post I stumbled across this commenting out some things to test out an error handling code path. As a result of the matching NSURLFileResourceIdentifierKey the wrong error message was logged. In my app's case this is basically a harmless bug because I do nothing but the behavior did spark my curiousity. In any case I will most likely be removing -getRelationship: calls from app entirely soon. I'm surprised that a fileReferenceURL would be cached in a filePathURL at all. My expectation is when calling fileReferenceURL on a file path url is to get a reference to the file at the exact file path right now if it is there (or nil) and I would have to hold the fileReferenceURL on first access to follow the file around. If caching the fileReferenceURL in the URL itself has been determined to be necessary I'm also somewhat surprised an existing fileReferenceURL isn't cleared/updated when files are manipulated via high level
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
4w
Reply to Provisional Permission is not working as expected in iOS 16
I observed the same for iOS 18. There is a partial workaround: when authorization status is .notDetermined, request only .provisional authorization when authorization status is .authorized (i.e. after the user chose Keep), request [.alert, .badge, .sound] This way you at least get support for badges and sound, but it is still bad because the Lock screen and Banner settings will still be disabled and I think there is no way to re-request them programmatically. Unfortunately this makes provisional authorization kind of undesirable for many use cases.
Replies
Boosts
Views
Activity
Mar ’26
Provisional Permission is not working as expected in iOS 16
We recently developed the provisional permission for our app, but we have noticed that is not working as expected in iOS 16 (We have tested only there). Currently we request the permissions like this: UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound, .provisional]) { [weak self] _, _ in // here we register for pushes in case authorizationStatus is provisional or authorised } What happens is we do get the 1st notification with the keep CTA - once tapped we see that there pops an action: Deliver Immediately, but even though the user selects that, we still see under setting the pushes are marked as Deliver Quietly. In addition to this the sound and bage still stay as toggled off - and the lock screen and banner as well stay off. Basically, nothing changes after the user selects Deliver Immediately
Replies
1
Boosts
0
Views
846
Activity
Mar ’26
Reply to Push notifications not delivered over Wi-Fi with includeAllNetworks = true regardless of excludeAPNS setting
[quote='817434021, pawanquantum, /thread/817434, /profile/pawanquantum'] while the tunnel is active in a pre-MFA quarantine state [/quote] I’d like to clarify my understanding of this. First up, what does “MFA” stand for in this context? Second, it sounds like your concerned about this sequence: The system wants to bring up the tunnel. So it instantiates your provider and calls the startTunnel(…) method. Your provider opens a connect to your VPN server. And then calls setTunnelNetworkSettings(…) to bring up the tunnel. However, the tunnel isn’t really up at this point, in that your VPN server won’t forward packets to the networks that the tunnel claims. Is that right? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
Mar ’26
Reply to Calling a Objc method directly from C
Calling Objective-C directly from C is certainly possible and can simplify your codebase by eliminating intermediate layers. Additionally, using Grand Central Dispatch (GCD) to manage thread safety and dispatch tasks to Objective-C contexts is a sound approach. Below, I'll outline how you can achieve this, maintaining thread safety and leveraging GCD effectively. Direct Objective-C Function Call from C Assuming you have an Objective-C method you want to call directly from C, you can use the Objective-C runtime functions to achieve this. Here's a step-by-step guide: Objective-C Method Declaration First, ensure your Objective-C method is declared properly. For example: @interface Renderer : NSObject (void)mtlEnd; @end C Function to Call Objective-C Method You can define a C function that uses the Objective-C runtime to call the mtlEnd method: #include void mtlEnd(MTRenderContext mt_ctx) { // Retrieve the class of the render context Class rendererClass = mt_ctx->mt_render_funcs.mtlObj.isa; // Get th
Topic: Programming Languages SubTopic: General Tags:
Replies
Boosts
Views
Activity
Feb ’26
Waiting for review 16 days
I am out of my strengths, out of will. Its been over 16 days when i posted my app to review. Apple doesnt react to email nor speed-up procedure requests. Its all pointless. Sorry if i sound too much dramatic but I dont see it other way. Apple doesnt reviews apps anymore. Maybe its because AI apps overflow or something else but truth is that i have seen a lot people experience the same. App doesnt have any crazy permissions nor crazy features. Small MVP app and still its waiting. Have this happened to you ?
Replies
2
Boosts
0
Views
95
Activity
Feb ’26
Unable to trigger AudioRecordingIntent from background
I am building an app where I am using AudioRecordingIntent to start audio recording from shortcuts / Action button etc. Whenever I set that up, I notice that I get an error - Unknown NSError Live Activity start failed: The operation couldn’t be completed. Target is not foreground I explicitly try to start the live activity and then start the audio recording and that's when I see this error. How can I make this work? I am unable to find any examples.
Replies
1
Boosts
0
Views
107
Activity
Feb ’26
Reply to Unable to trigger AudioRecordingIntent from background
Hi there, The error you are seeing is actually expected behavior due to iOS privacy and security restrictions. Apple strictly prevents apps from initiating an AVAudioSession for recording from a completely backgrounded state. Because of these privacy constraints, you cannot start an audio recording from scratch using an intent (like via a Shortcut or the Action Button) if the app isn't already active. How to make this work: To use an AudioRecordingIntent alongside a Live Activity, the recording session must originally be initiated while the app is in the foreground. Once the session is running and the user backgrounds the app, you can then manage it: Pause and Resume: You can manually pause the recording from the background using a button on your Live Activity. Once paused, you can use an intent triggered from the Live Activity to resume the recording. System Interruptions: If your active background recording is interrupted by the OS (e.g., an incoming phone call, an alarm, or Siri), you can provide
Replies
Boosts
Views
Activity
Feb ’26
Reply to On M4 macmini, Xcode 26 cannot debug iOS 12 on iPhone 6
iOS 15 is the minimum supported device for debugging. It sounds like you found at least one of the places where this is documented, the Xcode Support page, in addition to the Xcode 26 Release Notes. For anything older than iOS 15 where you found that you can still connect the debugger to your app with Xcode 26, please consider that a happy convenience for yourself at this time, but you also should not rely on it, and instead look at moving yourself up to the documented minimum supported configurations. — Ed Ford,  DTS Engineer
Replies
Boosts
Views
Activity
Feb ’26
Reply to Title: Developer ID + DNS Proxy system extension: profile mismatch for `com.apple.developer.networking.networkextension`
I can’t really help you with MDM stuff. If you need help in that space, you can try over in Business & Education > Device Management but you might have more luck over in the Apple Support Community, run by Apple Support, and specifically in the Business and Education topic areas. However, I can help you with this: [quote='877476022, Leo_Nagano, /thread/815340?answerId=877476022#877476022, /profile/Leo_Nagano'] on that MDM‑managed macOS 14.4 (Apple Silicon) device the app still cannot be launched. [/quote] That sounds less like an MDM issue and more like a Gatekeeper issue. [quote='877476022, Leo_Nagano, /thread/815340?answerId=877476022#877476022, /profile/Leo_Nagano'] codesign -dvv confirms the app is signed with our Developer ID Application certificate and has … [/quote] I see no mention of the App ID (com.apple.application-identifier) and Team ID (com.apple.developer.team-identifier) entitlements. Any app that uses restricted entitlement should be signed with those entitlements because they
Replies
Boosts
Views
Activity
Feb ’26
Reply to iOS Mac OS Portal Detection over Wi-Fi: no DNS A Query
It sounds like you're encountering a known issue related to how iOS handles captive portals, particularly when websites are only accessible via IPv4. Apple has been aware of certain behaviors where iOS might prioritize IPv6 over IPv4, leading to incomplete captive portal experiences if the necessary IPv4 infrastructure isn't present. Here are a few points and potential workarounds you might consider: Understanding the Behavior: iOS is designed to prefer IPv6 when both are available because it's generally faster and more efficient. However, this can cause issues on networks that only support IPv4 for certain services, like captive portal pages. iOS and iPadOS Versions: Apple has made various improvements to captive portal handling across different iOS versions. While I don't have specific details on version 36.2, issues related to IPv6 preference have been addressed in updates prior to and possibly after this version. Ensuring your devices are running the latest compatible version of iOS/iPadOS is alw
Replies
Boosts
Views
Activity
Feb ’26