Notifications

RSS for tag

Learn about the technical aspects of notification delivery on device, including notification types, priorities, and notification center management.

Notifications Documentation

Posts under Notifications subtopic

Post

Replies

Boosts

Views

Activity

Live Activity "Push to Start" is received but UI never appears (Silent Crash)
Hello everyone, I'm implementing the "Push to Start" feature for Live Activities, and I've run into an issue where the activity seems to be processed by the system but never appears on the Lock Screen or in the Dynamic Island. I suspect there's a silent crash happening in my widget extension immediately after launch, but I'm unable to capture any logs or crash reports in the Xcode debugger. Here is the flow and all the relevant data: 1. The Process My app successfully requests a pushToStartToken using Activity<EJourneyLiveActivityAttributes>.pushToStartTokenUpdates The token is sent to our server. The server uses this token to send a "start" event APNs push notification. The device console logs (from liveactivitiesd) show that the push is received and the system is "Publishing event". Expected Result: The Live Activity UI appears on the device. Actual Result: Nothing appears. The UI is completely absent. 2. Device Console Logs Here are the logs from the device console, which indicate a successful receipt of the push: pushServer default 12:08:22.716353+0200 liveactivitiesd Received push event for com.wavepointer.ejourney.staging::pushToStart pushServer default 12:08:22.716818+0200 liveactivitiesd Reduced budget for com.wavepointer.ejourney.staging::pushToStart to: 7 pushServer default 12:08:22.723458+0200 liveactivitiesd Publishing event: timestamp: 2025-07-24 08:57:19 +0000; activityIdentifier: 53C3EE9D-623C-4F38-93AE-8BB807429DAA; eventType: start(...) 3. APNs Payload This is the exact payload being sent from our server: { "aps": { "event": "start", "timestamp": 1753347375, "attributes-type": "EJourneyLiveActivityAttributes", "attributes": { "journeyId": "test123453" }, "content-state": { "distanceInMeters": 1000, "depTime": 1752745104, "arrTime": 1752748704, "depStop": "Arth, Am See", "arrStop": "Oberarth, Bifang", "depZone": "571", "arrZone": "566", "co2Save": 5.0, "co2SavePerc": 44, "companyName": "WP Innovation", "countryCode": "CH", "categoryId": 5, "subcategoryId": 3, "stationStartAssoc": "Assoc1", "stationEndAssoc": "Assoc2" } } } 4. ActivityAttributes Struct To prevent decoding errors, I have made all properties in my ContentState optional and added a custom decoder. @available(iOS 16.1, *) struct EJourneyLiveActivityAttributes: ActivityAttributes, Hashable { public struct ContentState: Codable, Hashable { var distanceInMeters: Int = 0 var depTime: Int = 1752843769 var arrTime: Int = 1752843769 var depStop: String = "" var arrStop: String = "" var depZone: String = "" var arrZone: String = "" var co2Save: Double? var co2SavePerc: Int = 0 var companyName: String = "Test" var countryCode: String = "CH" var categoryId: Int = 3 var subcategoryId: Int = 4 var stationStartAssoc: String? var stationEndAssoc: String? } var journeyId: String? } What I've Tried I have carefully checked that my Codable struct matches the JSON payload. I've made all properties optional to avoid crashes from missing keys. I have tried attaching the Xcode debugger to the widget extension process (Debug -> Attach to Process...) before sending the push, but no logs, errors, or crash reports appear in the Xcode console. The process seems to terminate before it can log anything. My question is: What could cause the widget extension to fail so early that it doesn't even produce a crash log in the attached debugger? Are there other methods to debug this kind of silent failure? Any help would be greatly appreciated. Thank you!
3
1
277
Jul ’25
Push notification volume for custom sound
Is there a way to configure the APNS notification sound volume to be louder? I am implementing some custom sounds(narrative sentences) for APNS, it does play the custom sound, but the volume of the custom sound is not loud enough even though I had set the device's volume and "RingTone and Alerts" volume to max. I tried to amplify the custom sound file, it does play louder but the result is minimum if I want to maintain the quality of the sound without it been distorted. I tried to use Notification Service Extension, AVAudioPlayer and AVAudioSession to play the sound, it does play louder in max volume compare with relying on default sound payload in APNS, but the problem is AVAudioPlayer and AVAudioSession do not seems to be usable when the application is in background or killed state, is there any other alternative I could use?
3
0
220
Apr ’25
Missing INITIAL_BUY notification for a single user (App Store Server Notification V2)
Hi all, We’re implementing in-app subscriptions in our iOS app using App Store Server Notifications V2 in the production environment. Everything is generally working well — we receive notifications such as DID_CHANGE_RENEWAL_STATUS, CANCELLATION, etc., and we log all incoming notifications into our own database. However, we've encountered a single case where the INITIAL_BUY notification was not received for a specific user. Interestingly, we did receive the later notifications (DID_CHANGE_RENEWAL_STATUS and CANCELLATION) for that same user. Here is our setup: App Store Server Notifications V2 Notification endpoint is stable and functioning normally (receives and logs other notifications) Notifications are reliably stored in our database The issue occurred only once for one user Environment: Production We've already contacted Apple Developer Support, but were informed that this issue is out of scope for direct support, and were directed to the Developer Forums. Our questions: Under what conditions might the INITIAL_BUY notification fail to be sent or delivered? Is there any known behavior or scenario where Apple may skip the INITIAL_BUY notification? Any recommendations on how to further investigate or verify whether it was sent from Apple’s side? We’ve confirmed that the notification never hit our server (no logs, no DB record), and our system was healthy at the time. Any insight would be greatly appreciated. Thank you!
2
0
130
Sep ’25
Critical Messaging Intermittent Success with notSupported
Hello, I am trying to utilize the Critical Messaging API to allow my user to message 1 or multiple pre registered contacts automatically. An issue I am having with this in testing is that when the application attempts to fire off texts to the phone numbers the success rate changes from trial to trial, with no variable changing. Sometimes I can send a Critical Message to multiple phone numbers in rapid succession, sometimes the message is only sent to 1 contact, and sometimes I get no successes. Each failure always returns the MSCriticalMessaging.notSupported error. The API documentation states, "The send(_:to:) method only works if the app is backgrounded, if it’s called from foreground the framework returns a MSCriticalMessagingError.notSupported error." If my app is always backgrounded in these tests, what other issues may cause this notSupported error return, and why does the outcomes success rate vary?
2
0
205
Sep ’25
CarPlay: no banner or sound for APNs while connected, works on phone (iOS 18.0, UNNotificationCategoryOptions.allowInCarPlay)
Hi everyone! I’m integrating push notifications for a taxi-driver app and ran into a blocking CarPlay issue. When the iPhone is connected to CarPlay (wired or wireless), the push arrives on the phone without any sound and nothing is shown or announced on the CarPlay screen. If I unplug CarPlay, the same push plays the default sound and shows a normal banner on the lock screen, so the payload itself looks valid. Environment iPhone 13 Pro, iOS 18.0 CarPlay head-unit: Xcode 16.2 CarPlay Simulator App built with Flutter 3.22 + firebase_messaging: ^15.2.5 Deployment target: iOS 14.0 Xcode capabilities enabled: Push Notifications, Time-Sensitive Notifications App settings on the device: Allow Notifications -› Sounds ON, Show in CarPlay ON Siri › Announce Notifications › CarPlay: master toggle ON + my app added to the allowed list Driving Focus = Off (same result if it’s On) Native setup in AppDelegate.swift UNUserNotificationCenter.current().requestAuthorization( options: [.alert, .sound, .badge, .carPlay] ) { _,_ in } let carPlayCategory = UNNotificationCategory( identifier: "CARPLAY_ORDER", actions: [], intentIdentifiers: [], options: [.allowInCarPlay] ) UNUserNotificationCenter.current().setNotificationCategories([carPlayCategory]) UNUserNotificationCenter.current().delegate = self application.registerForRemoteNotifications() APNs payload that I send via FCM { "aps": { "alert": { "title": "New test order", "body": "Location info test" }, "sound": "default", "category": "CARPLAY_ORDER", "interruption-level": "time-sensitive", "relevance-score": 1 } } What could be the problem? Please help me solve the error
2
0
168
Jun ’25
Extend of notification content
In iOS 26, I can check the notification that arrives to the user when the AirPods or Apple Watch is fully charged. When tap the notification, notification only expands and does not include actions such as moving to an app. I checked the documents of UserNotification and UNNotificationServiceExtension, but I couldn't find what I wanted. I can expand by long-tapping as default, but I'm looking for a way to expand it without entering the app when I tap the notification. I wonder if there is an API that I missed or if it's not publicly supported. thank you for your support.
2
0
124
Sep ’25
Unknown APNs ERROR: BadEnvironmentKeyInToken when sending Push To Talk notifications
We’re sending PTT notifications from our server and are receiving HTTP 403 from APNs for certain phones with the reason field BadEnvironmentKeyInToken. I can’t find this reason documented in Apple’s public error list. I’d like to confirm what this error specifically means and how to resolve it. Any guidance or clarification would be greatly appreciated. Thank you. Here is the document I was referring to. https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html
2
2
495
Jan ’26
Can Critical Alerts Play Sound Continuously Until User Interaction?
We are developing an app that receives push notifications (via Firebase) from configured IoT devices. It is essential that when a specific type of notification is received, a sound is played continuously until the user interacts with the notification. This behavior is crucial for alerting users to certain critical states of the IoT device. We understand that Critical Alerts on iOS can bypass Do Not Disturb and silent mode. However, from our testing and available documentation, the sound from a Critical Alert seems to be limited to around 30 seconds. Our question: Is it possible on iOS to have a Critical Alert (or any other type of notification) continue playing sound until the user interacts with the notification or app? If so, could someone please point us to the appropriate documentation or APIs? Thanks in advance for any guidance.
2
0
126
May ’25
Not receiving apple server notification v2 on production URL
Hello, previously i have tested the purchase via test flight and the server notification was sent to my sandbox url. Now when I made the purchase from live app, my server did not receive any notification even though the production url was the same as the sandbox url. The purchase was for a consumable product. Please help, thanks.
2
0
546
May ’25
Issue in background notification iOS 18
Issue: I am making an application that stores data locally from notifications fired from the server. Everything works fine in the foreground but the background is having problems with not being triggered when notifications are fired. So we tried firing 2 notifications at the same time, including default and silent types. But the problem continues to arise on ios 18, when firing multiple times like that, the trigger is not handling all notifications, leading to data loss. I tried on ios 15 and it worked fine. Environment: Device or Simulator: Iphone 11 pro max (iOS 18.3.2 Steps to Reproduce: Open app, allow received notification. Move app to background mode or terminate app. Sent 2 notifications: a. Default notification payload: { "aps": { "content-available": 1 }, ”notification”: {…}, “alert”: {..}, “data": "some_value" } b. Silent notification payload: { "aps": { "content-available": 1 }, ”data": "some_value" } What I've Tried: Trigger notification in function: application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Handle write data to local storage in above function, put it in background thread also. Thanks in advance!
2
0
361
Oct ’25
No notification sound when CarPlay is connected
We're building a taxi driver app. Our goal is simple: Play a notification sound when a new ride request arrives — even if the iPhone is connected to CarPlay. We use Firebase push with "sound": "default" and "interruption-level": "time-sensitive". The app requests .carPlay and uses a category with .allowInCarPlay. Everything works when CarPlay is disconnected — we get sound and banner. But when connected to CarPlay: the push is delivered silently, no sound is played (even on the phone), Siri Announce is enabled, but nothing is spoken. Questions: Is notification sound blocked when CarPlay is active, unless the app has CarPlay entitlement? Is Siri Announce the only way to notify the driver audibly in this case? Would getting a CarPlay entitlement (e.g. CarPlay.communication) fix this without building a full CarPlay UI? Thanks — all we need is a reliable sound alert when a new ride comes in.
2
0
111
Jun ’25
APNS Notifications not received on macOS Device
Hello Team, We are currently experiencing an issue where some of our devices are not receiving push notifications. We are sending notifications via the Apple Push Notification portal (https://developer.apple.com/notifications/push-notifications-console/) using the following two requests. However, in both cases, the notifications are not being delivered to the devices. Scenario 1 : When we send a request with apns-push-type set to alert, we receive the following error. Request : curl -v --header "authorization: bearer ${AUTHENTICATION_TOKEN}" --header "apns-topic: com.testcompany.sampletest" --header "apns-push-type: alert" --header "apns-priority: 10" --header "apns-expiration: 0" --data '{"aps":{"alert":{"title":"Test Notification Title","subtitle":"Test Notification Sub Title","body":"Test Notification Body"}}}' --http2 https://api.push.apple.com:443/3/device/*devicetoken* Response: { "code": 400, "message": "bad-request", "reason": "The device token is inactive for the specified topic. There is no need to send further pushes to the same device token, unless your application retrieves the same device token.", "requestUuid": "c4ae39b4-87e1-4269-a1e9-163f60ec0385" } Scenario 2 : However, if we send the request with apns-push-type set to background, the request is processed successfully by APNs, but no notification is received on the device. Request : curl -v --header "authorization: bearer ${AUTHENTICATION_TOKEN}" --header "apns-topic: com.testcompany.sampletest" --header "apns-push-type: background" --header "apns-priority: 10" --header "apns-expiration: 0" --data '{"aps":{"alert":{"title":"Test Notification Title","subtitle":"Test Notification Sub Title","body":"Test Notification Body"}}}' --http2 https://api.push.apple.com:443/3/device/*devicetoken* Response: Getting a message that The notification sent successfully but no notification is received on the device. In both cases (with alert and background push types), the push notification does not reach the device. Additionally, when we validated the device token using the APNs Device Token Validator, it appears to be valid and returns the following message. "Device Token is valid for sending Alert & Background push-type notifications in the Production environment" Affected Device: macOS version : MacOS 15.3.1 Processor : Apple M1 Could you please assist me in resolving this issue? Thanks
2
1
278
Oct ’25
AlarmKit plays system error tone instead of custom sound files (iOS 26.0)
AlarmKit custom sounds are universally broken in iOS 26.0 stable - instead of playing your custom sound, it plays a system error/timeout beep. I've spent days investigating why custom sounds result in what sounds like an error beep (like when you cancel an operation or hit a timeout) instead of the actual audio file. I can now prove this is an Apple bug, not implementation error. Evidence: Test 1: My Implementation Followed Apple's documentation exactly Tried both bundle and Library/Sounds (as documented) Result: System error beep (not my audio) Test 2: Professional Apps Tested ADHDAlarms (popular AlarmKit example by jacobsapps) https://github.com/jacobsapps/ADHDAlarms Their airhorn.mp3 custom sound: same error beep (not an airhorn) Their default sound: works perfectly Test 3: Device Testing Physical iPhone (iOS 26.0 - 23A341): broken iOS Simulator: broken Not device-specific Files are found correctly, but the actual audio file is never played. Instead, you hear what sounds like a system error/cancellation tone. What I've Eliminated Not a Library/Sounds vs Bundle issue (both broken) Not a file format issue (.mp3, .caf, .m4a all broken) Not an implementation issue (professional apps broken too) Not a device issue (simulator and device both broken) Not a file size issue (5KB to 2MB all broken) The Documentation Lie: Apple's docs for AlertConfiguration.AlertSound.named(_:) state: "Choose a file that's in your app's main bundle or the Library/Sounds folder" https://developer.apple.com/documentation/activitykit/alertconfiguration/alertsound/named(_:) Both locations are broken. Tested on: iOS 26.0 (23A341), Xcode 26.0.1, Swift 6.2 Impact: This affects any app trying to: Provide personalized wake-up sounds Use custom alarm tones Create meditation/sleep apps Differentiate from default iOS alarms Current Status: Multiple bug reports filed: FB19900024, FB18237648, FB19779004 Apple engineer claimed "fixed in latest beta" in August Still broken in iOS 26.0 stable (September) Workaround: None that I know of. You must use .default sound. For apps needing custom audio, play it with AVAudioPlayer after the alarm fires and user opens the app. Question: Has ANYONE gotten custom AlarmKit sounds working in iOS 26.0 stable? If so, plzzz help I'd be so grateful.
2
1
196
Oct ’25
Notifications False Sucecss Delivery
We operate a social network application, SportsYou with over 3 million monthly active users and are experiencing significant issues with push notification delivery through APNs. We have a large number of users reporting they are not receiving push notifications. Our infrastructure uses AWS SNS integrated with APNs to deliver notifications. However, AWS CloudWatch consistently reports successful delivery (Success response), even though users confirm they never received the notifications. Because we receive success responses from AWS SNS, our system does not attempt to recreate or refresh the device endpoints. This leaves us unable to detect or recover from these delivery failures automatically. This issue is widespread and inconsistent. It affects users across multiple variables including different iOS versions, different device models, and different versions of our application. We cannot identify a clear pattern that would help us isolate the root cause. With millions of active users, even a small percentage of delivery failures represents thousands of users experiencing a degraded service. This is significantly impacting user engagement and satisfaction. We need guidance on how to properly diagnose this issue and ensure reliable notification delivery to our users. Specifically, we'd like to understand why we're receiving success responses when notifications aren't being delivered, and what steps we can take to detect and prevent these failures.
2
1
151
Oct ’25
Critical Messages Allow messages to
I am creating an app that uses critical messages, I have been granted this entitlement and I am adding the certificate and in the info.plist. In the app I request authorization to send messages to specific numbers. When I try the app in production from Xcode this works fine and I can send the critical messages. However, when I am using the app in the test flight the authorization does not seem to be remembered on the background. Moreover, I go to security/privacy settings and I grant permission to the selected number (I see that it only shows one number even when I have to granted, its like it removes the previous one) however when I exit the setting page the permission is reset (and therefore denied), I think this is a bug. Can you look into that. Both this removing granted permission (HIGH PRIORITY, this message can only be sent in the background, therefore the user can not grant it and why the maximum telephone number to be granted to send messages is reset also to a single one LOWER PRIORITY). Thanks
2
0
95
May ’25
APNS Connection Timed out
This error has been continuously occurring for about 9 hours. We have not replaced the certificate, modified the server code, or changed the firewall policy. Some requests succeed, but many are timing out, with several timeouts occurring every minute. We are unable to find the cause. Please help. APNS Exception io netty channel ConnecttimeException: Connection timed out
APNSOutboundHandler api.push.apple.com/17.188.169.28:443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 ...
2
0
725
Apr ’25
Push Notification Delivery Delays and Failures on iOS Devices
I am experiencing an issue with push notifications on my iOS application. The issue is as follows: On Android devices, push notifications are received immediately without any problems. On iOS devices, the behavior is inconsistent: When the app is in the foreground, notifications are received immediately. When the app is in the background or in recent apps with a significant delay of 5–10 hours, push notifications are not received at all. This behavior creates a major challenge for us, as timely notifications are critical for our app’s functionality. We have already verified the following points on our side: Push notification certificates and APNs setup are correct. Payload and server configurations are valid, as notifications are working fine on Android. No restrictions from the server-side, since Android users receive notifications instantly. It seems the issue is specifically related to iOS devices or APNs delivery. Could you please help us identify the cause and provide guidance on how to resolve this?
2
1
333
Jan ’26
Live Activity "Push to Start" is received but UI never appears (Silent Crash)
Hello everyone, I'm implementing the "Push to Start" feature for Live Activities, and I've run into an issue where the activity seems to be processed by the system but never appears on the Lock Screen or in the Dynamic Island. I suspect there's a silent crash happening in my widget extension immediately after launch, but I'm unable to capture any logs or crash reports in the Xcode debugger. Here is the flow and all the relevant data: 1. The Process My app successfully requests a pushToStartToken using Activity<EJourneyLiveActivityAttributes>.pushToStartTokenUpdates The token is sent to our server. The server uses this token to send a "start" event APNs push notification. The device console logs (from liveactivitiesd) show that the push is received and the system is "Publishing event". Expected Result: The Live Activity UI appears on the device. Actual Result: Nothing appears. The UI is completely absent. 2. Device Console Logs Here are the logs from the device console, which indicate a successful receipt of the push: pushServer default 12:08:22.716353+0200 liveactivitiesd Received push event for com.wavepointer.ejourney.staging::pushToStart pushServer default 12:08:22.716818+0200 liveactivitiesd Reduced budget for com.wavepointer.ejourney.staging::pushToStart to: 7 pushServer default 12:08:22.723458+0200 liveactivitiesd Publishing event: timestamp: 2025-07-24 08:57:19 +0000; activityIdentifier: 53C3EE9D-623C-4F38-93AE-8BB807429DAA; eventType: start(...) 3. APNs Payload This is the exact payload being sent from our server: { "aps": { "event": "start", "timestamp": 1753347375, "attributes-type": "EJourneyLiveActivityAttributes", "attributes": { "journeyId": "test123453" }, "content-state": { "distanceInMeters": 1000, "depTime": 1752745104, "arrTime": 1752748704, "depStop": "Arth, Am See", "arrStop": "Oberarth, Bifang", "depZone": "571", "arrZone": "566", "co2Save": 5.0, "co2SavePerc": 44, "companyName": "WP Innovation", "countryCode": "CH", "categoryId": 5, "subcategoryId": 3, "stationStartAssoc": "Assoc1", "stationEndAssoc": "Assoc2" } } } 4. ActivityAttributes Struct To prevent decoding errors, I have made all properties in my ContentState optional and added a custom decoder. @available(iOS 16.1, *) struct EJourneyLiveActivityAttributes: ActivityAttributes, Hashable { public struct ContentState: Codable, Hashable { var distanceInMeters: Int = 0 var depTime: Int = 1752843769 var arrTime: Int = 1752843769 var depStop: String = "" var arrStop: String = "" var depZone: String = "" var arrZone: String = "" var co2Save: Double? var co2SavePerc: Int = 0 var companyName: String = "Test" var countryCode: String = "CH" var categoryId: Int = 3 var subcategoryId: Int = 4 var stationStartAssoc: String? var stationEndAssoc: String? } var journeyId: String? } What I've Tried I have carefully checked that my Codable struct matches the JSON payload. I've made all properties optional to avoid crashes from missing keys. I have tried attaching the Xcode debugger to the widget extension process (Debug -> Attach to Process...) before sending the push, but no logs, errors, or crash reports appear in the Xcode console. The process seems to terminate before it can log anything. My question is: What could cause the widget extension to fail so early that it doesn't even produce a crash log in the attached debugger? Are there other methods to debug this kind of silent failure? Any help would be greatly appreciated. Thank you!
Replies
3
Boosts
1
Views
277
Activity
Jul ’25
Critical alerts entitlement.
I submitted the form for the critical alert entitlement but have not received any response for already 2 weeks. How long does it normally take to review such requests? Is there any way I can contact a certain department directly?
Replies
3
Boosts
0
Views
1.8k
Activity
Feb ’26
Push notification volume for custom sound
Is there a way to configure the APNS notification sound volume to be louder? I am implementing some custom sounds(narrative sentences) for APNS, it does play the custom sound, but the volume of the custom sound is not loud enough even though I had set the device's volume and "RingTone and Alerts" volume to max. I tried to amplify the custom sound file, it does play louder but the result is minimum if I want to maintain the quality of the sound without it been distorted. I tried to use Notification Service Extension, AVAudioPlayer and AVAudioSession to play the sound, it does play louder in max volume compare with relying on default sound payload in APNS, but the problem is AVAudioPlayer and AVAudioSession do not seems to be usable when the application is in background or killed state, is there any other alternative I could use?
Replies
3
Boosts
0
Views
220
Activity
Apr ’25
Missing INITIAL_BUY notification for a single user (App Store Server Notification V2)
Hi all, We’re implementing in-app subscriptions in our iOS app using App Store Server Notifications V2 in the production environment. Everything is generally working well — we receive notifications such as DID_CHANGE_RENEWAL_STATUS, CANCELLATION, etc., and we log all incoming notifications into our own database. However, we've encountered a single case where the INITIAL_BUY notification was not received for a specific user. Interestingly, we did receive the later notifications (DID_CHANGE_RENEWAL_STATUS and CANCELLATION) for that same user. Here is our setup: App Store Server Notifications V2 Notification endpoint is stable and functioning normally (receives and logs other notifications) Notifications are reliably stored in our database The issue occurred only once for one user Environment: Production We've already contacted Apple Developer Support, but were informed that this issue is out of scope for direct support, and were directed to the Developer Forums. Our questions: Under what conditions might the INITIAL_BUY notification fail to be sent or delivered? Is there any known behavior or scenario where Apple may skip the INITIAL_BUY notification? Any recommendations on how to further investigate or verify whether it was sent from Apple’s side? We’ve confirmed that the notification never hit our server (no logs, no DB record), and our system was healthy at the time. Any insight would be greatly appreciated. Thank you!
Replies
2
Boosts
0
Views
130
Activity
Sep ’25
Critical Messaging Intermittent Success with notSupported
Hello, I am trying to utilize the Critical Messaging API to allow my user to message 1 or multiple pre registered contacts automatically. An issue I am having with this in testing is that when the application attempts to fire off texts to the phone numbers the success rate changes from trial to trial, with no variable changing. Sometimes I can send a Critical Message to multiple phone numbers in rapid succession, sometimes the message is only sent to 1 contact, and sometimes I get no successes. Each failure always returns the MSCriticalMessaging.notSupported error. The API documentation states, "The send(_:to:) method only works if the app is backgrounded, if it’s called from foreground the framework returns a MSCriticalMessagingError.notSupported error." If my app is always backgrounded in these tests, what other issues may cause this notSupported error return, and why does the outcomes success rate vary?
Replies
2
Boosts
0
Views
205
Activity
Sep ’25
CarPlay: no banner or sound for APNs while connected, works on phone (iOS 18.0, UNNotificationCategoryOptions.allowInCarPlay)
Hi everyone! I’m integrating push notifications for a taxi-driver app and ran into a blocking CarPlay issue. When the iPhone is connected to CarPlay (wired or wireless), the push arrives on the phone without any sound and nothing is shown or announced on the CarPlay screen. If I unplug CarPlay, the same push plays the default sound and shows a normal banner on the lock screen, so the payload itself looks valid. Environment iPhone 13 Pro, iOS 18.0 CarPlay head-unit: Xcode 16.2 CarPlay Simulator App built with Flutter 3.22 + firebase_messaging: ^15.2.5 Deployment target: iOS 14.0 Xcode capabilities enabled: Push Notifications, Time-Sensitive Notifications App settings on the device: Allow Notifications -› Sounds ON, Show in CarPlay ON Siri › Announce Notifications › CarPlay: master toggle ON + my app added to the allowed list Driving Focus = Off (same result if it’s On) Native setup in AppDelegate.swift UNUserNotificationCenter.current().requestAuthorization( options: [.alert, .sound, .badge, .carPlay] ) { _,_ in } let carPlayCategory = UNNotificationCategory( identifier: "CARPLAY_ORDER", actions: [], intentIdentifiers: [], options: [.allowInCarPlay] ) UNUserNotificationCenter.current().setNotificationCategories([carPlayCategory]) UNUserNotificationCenter.current().delegate = self application.registerForRemoteNotifications() APNs payload that I send via FCM { "aps": { "alert": { "title": "New test order", "body": "Location info test" }, "sound": "default", "category": "CARPLAY_ORDER", "interruption-level": "time-sensitive", "relevance-score": 1 } } What could be the problem? Please help me solve the error
Replies
2
Boosts
0
Views
168
Activity
Jun ’25
Extend of notification content
In iOS 26, I can check the notification that arrives to the user when the AirPods or Apple Watch is fully charged. When tap the notification, notification only expands and does not include actions such as moving to an app. I checked the documents of UserNotification and UNNotificationServiceExtension, but I couldn't find what I wanted. I can expand by long-tapping as default, but I'm looking for a way to expand it without entering the app when I tap the notification. I wonder if there is an API that I missed or if it's not publicly supported. thank you for your support.
Replies
2
Boosts
0
Views
124
Activity
Sep ’25
Unknown APNs ERROR: BadEnvironmentKeyInToken when sending Push To Talk notifications
We’re sending PTT notifications from our server and are receiving HTTP 403 from APNs for certain phones with the reason field BadEnvironmentKeyInToken. I can’t find this reason documented in Apple’s public error list. I’d like to confirm what this error specifically means and how to resolve it. Any guidance or clarification would be greatly appreciated. Thank you. Here is the document I was referring to. https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html
Replies
2
Boosts
2
Views
495
Activity
Jan ’26
Can Critical Alerts Play Sound Continuously Until User Interaction?
We are developing an app that receives push notifications (via Firebase) from configured IoT devices. It is essential that when a specific type of notification is received, a sound is played continuously until the user interacts with the notification. This behavior is crucial for alerting users to certain critical states of the IoT device. We understand that Critical Alerts on iOS can bypass Do Not Disturb and silent mode. However, from our testing and available documentation, the sound from a Critical Alert seems to be limited to around 30 seconds. Our question: Is it possible on iOS to have a Critical Alert (or any other type of notification) continue playing sound until the user interacts with the notification or app? If so, could someone please point us to the appropriate documentation or APIs? Thanks in advance for any guidance.
Replies
2
Boosts
0
Views
126
Activity
May ’25
Not receiving apple server notification v2 on production URL
Hello, previously i have tested the purchase via test flight and the server notification was sent to my sandbox url. Now when I made the purchase from live app, my server did not receive any notification even though the production url was the same as the sandbox url. The purchase was for a consumable product. Please help, thanks.
Replies
2
Boosts
0
Views
546
Activity
May ’25
Issue in background notification iOS 18
Issue: I am making an application that stores data locally from notifications fired from the server. Everything works fine in the foreground but the background is having problems with not being triggered when notifications are fired. So we tried firing 2 notifications at the same time, including default and silent types. But the problem continues to arise on ios 18, when firing multiple times like that, the trigger is not handling all notifications, leading to data loss. I tried on ios 15 and it worked fine. Environment: Device or Simulator: Iphone 11 pro max (iOS 18.3.2 Steps to Reproduce: Open app, allow received notification. Move app to background mode or terminate app. Sent 2 notifications: a. Default notification payload: { "aps": { "content-available": 1 }, ”notification”: {…}, “alert”: {..}, “data": "some_value" } b. Silent notification payload: { "aps": { "content-available": 1 }, ”data": "some_value" } What I've Tried: Trigger notification in function: application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Handle write data to local storage in above function, put it in background thread also. Thanks in advance!
Replies
2
Boosts
0
Views
361
Activity
Oct ’25
No notification sound when CarPlay is connected
We're building a taxi driver app. Our goal is simple: Play a notification sound when a new ride request arrives — even if the iPhone is connected to CarPlay. We use Firebase push with "sound": "default" and "interruption-level": "time-sensitive". The app requests .carPlay and uses a category with .allowInCarPlay. Everything works when CarPlay is disconnected — we get sound and banner. But when connected to CarPlay: the push is delivered silently, no sound is played (even on the phone), Siri Announce is enabled, but nothing is spoken. Questions: Is notification sound blocked when CarPlay is active, unless the app has CarPlay entitlement? Is Siri Announce the only way to notify the driver audibly in this case? Would getting a CarPlay entitlement (e.g. CarPlay.communication) fix this without building a full CarPlay UI? Thanks — all we need is a reliable sound alert when a new ride comes in.
Replies
2
Boosts
0
Views
111
Activity
Jun ’25
Gateway.push.apple.com not working anymore ?
i hava a app using Gateway.push.apple.com to push Notifications,but it is not working sine last month, i test the api show push Notifications success but my device can't receive the Notifications ,is this api not working anymore ? but why the api show push Notifications success ?
Replies
2
Boosts
0
Views
259
Activity
May ’25
APNS Notifications not received on macOS Device
Hello Team, We are currently experiencing an issue where some of our devices are not receiving push notifications. We are sending notifications via the Apple Push Notification portal (https://developer.apple.com/notifications/push-notifications-console/) using the following two requests. However, in both cases, the notifications are not being delivered to the devices. Scenario 1 : When we send a request with apns-push-type set to alert, we receive the following error. Request : curl -v --header "authorization: bearer ${AUTHENTICATION_TOKEN}" --header "apns-topic: com.testcompany.sampletest" --header "apns-push-type: alert" --header "apns-priority: 10" --header "apns-expiration: 0" --data '{"aps":{"alert":{"title":"Test Notification Title","subtitle":"Test Notification Sub Title","body":"Test Notification Body"}}}' --http2 https://api.push.apple.com:443/3/device/*devicetoken* Response: { "code": 400, "message": "bad-request", "reason": "The device token is inactive for the specified topic. There is no need to send further pushes to the same device token, unless your application retrieves the same device token.", "requestUuid": "c4ae39b4-87e1-4269-a1e9-163f60ec0385" } Scenario 2 : However, if we send the request with apns-push-type set to background, the request is processed successfully by APNs, but no notification is received on the device. Request : curl -v --header "authorization: bearer ${AUTHENTICATION_TOKEN}" --header "apns-topic: com.testcompany.sampletest" --header "apns-push-type: background" --header "apns-priority: 10" --header "apns-expiration: 0" --data '{"aps":{"alert":{"title":"Test Notification Title","subtitle":"Test Notification Sub Title","body":"Test Notification Body"}}}' --http2 https://api.push.apple.com:443/3/device/*devicetoken* Response: Getting a message that The notification sent successfully but no notification is received on the device. In both cases (with alert and background push types), the push notification does not reach the device. Additionally, when we validated the device token using the APNs Device Token Validator, it appears to be valid and returns the following message. "Device Token is valid for sending Alert & Background push-type notifications in the Production environment" Affected Device: macOS version : MacOS 15.3.1 Processor : Apple M1 Could you please assist me in resolving this issue? Thanks
Replies
2
Boosts
1
Views
278
Activity
Oct ’25
APNS response getting TimeOut
I am sending push notification using HTTP/2 to https://api.push.apple.com:443 api but I am getting Operation TimeOut error in response . Can someone help
Replies
2
Boosts
1
Views
2.5k
Activity
Apr ’25
AlarmKit plays system error tone instead of custom sound files (iOS 26.0)
AlarmKit custom sounds are universally broken in iOS 26.0 stable - instead of playing your custom sound, it plays a system error/timeout beep. I've spent days investigating why custom sounds result in what sounds like an error beep (like when you cancel an operation or hit a timeout) instead of the actual audio file. I can now prove this is an Apple bug, not implementation error. Evidence: Test 1: My Implementation Followed Apple's documentation exactly Tried both bundle and Library/Sounds (as documented) Result: System error beep (not my audio) Test 2: Professional Apps Tested ADHDAlarms (popular AlarmKit example by jacobsapps) https://github.com/jacobsapps/ADHDAlarms Their airhorn.mp3 custom sound: same error beep (not an airhorn) Their default sound: works perfectly Test 3: Device Testing Physical iPhone (iOS 26.0 - 23A341): broken iOS Simulator: broken Not device-specific Files are found correctly, but the actual audio file is never played. Instead, you hear what sounds like a system error/cancellation tone. What I've Eliminated Not a Library/Sounds vs Bundle issue (both broken) Not a file format issue (.mp3, .caf, .m4a all broken) Not an implementation issue (professional apps broken too) Not a device issue (simulator and device both broken) Not a file size issue (5KB to 2MB all broken) The Documentation Lie: Apple's docs for AlertConfiguration.AlertSound.named(_:) state: "Choose a file that's in your app's main bundle or the Library/Sounds folder" https://developer.apple.com/documentation/activitykit/alertconfiguration/alertsound/named(_:) Both locations are broken. Tested on: iOS 26.0 (23A341), Xcode 26.0.1, Swift 6.2 Impact: This affects any app trying to: Provide personalized wake-up sounds Use custom alarm tones Create meditation/sleep apps Differentiate from default iOS alarms Current Status: Multiple bug reports filed: FB19900024, FB18237648, FB19779004 Apple engineer claimed "fixed in latest beta" in August Still broken in iOS 26.0 stable (September) Workaround: None that I know of. You must use .default sound. For apps needing custom audio, play it with AVAudioPlayer after the alarm fires and user opens the app. Question: Has ANYONE gotten custom AlarmKit sounds working in iOS 26.0 stable? If so, plzzz help I'd be so grateful.
Replies
2
Boosts
1
Views
196
Activity
Oct ’25
Notifications False Sucecss Delivery
We operate a social network application, SportsYou with over 3 million monthly active users and are experiencing significant issues with push notification delivery through APNs. We have a large number of users reporting they are not receiving push notifications. Our infrastructure uses AWS SNS integrated with APNs to deliver notifications. However, AWS CloudWatch consistently reports successful delivery (Success response), even though users confirm they never received the notifications. Because we receive success responses from AWS SNS, our system does not attempt to recreate or refresh the device endpoints. This leaves us unable to detect or recover from these delivery failures automatically. This issue is widespread and inconsistent. It affects users across multiple variables including different iOS versions, different device models, and different versions of our application. We cannot identify a clear pattern that would help us isolate the root cause. With millions of active users, even a small percentage of delivery failures represents thousands of users experiencing a degraded service. This is significantly impacting user engagement and satisfaction. We need guidance on how to properly diagnose this issue and ensure reliable notification delivery to our users. Specifically, we'd like to understand why we're receiving success responses when notifications aren't being delivered, and what steps we can take to detect and prevent these failures.
Replies
2
Boosts
1
Views
151
Activity
Oct ’25
Critical Messages Allow messages to
I am creating an app that uses critical messages, I have been granted this entitlement and I am adding the certificate and in the info.plist. In the app I request authorization to send messages to specific numbers. When I try the app in production from Xcode this works fine and I can send the critical messages. However, when I am using the app in the test flight the authorization does not seem to be remembered on the background. Moreover, I go to security/privacy settings and I grant permission to the selected number (I see that it only shows one number even when I have to granted, its like it removes the previous one) however when I exit the setting page the permission is reset (and therefore denied), I think this is a bug. Can you look into that. Both this removing granted permission (HIGH PRIORITY, this message can only be sent in the background, therefore the user can not grant it and why the maximum telephone number to be granted to send messages is reset also to a single one LOWER PRIORITY). Thanks
Replies
2
Boosts
0
Views
95
Activity
May ’25
APNS Connection Timed out
This error has been continuously occurring for about 9 hours. We have not replaced the certificate, modified the server code, or changed the firewall policy. Some requests succeed, but many are timing out, with several timeouts occurring every minute. We are unable to find the cause. Please help. APNS Exception io netty channel ConnecttimeException: Connection timed out
APNSOutboundHandler api.push.apple.com/17.188.169.28:443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 api.push.apple.com/(other ip):443 ...
Replies
2
Boosts
0
Views
725
Activity
Apr ’25
Push Notification Delivery Delays and Failures on iOS Devices
I am experiencing an issue with push notifications on my iOS application. The issue is as follows: On Android devices, push notifications are received immediately without any problems. On iOS devices, the behavior is inconsistent: When the app is in the foreground, notifications are received immediately. When the app is in the background or in recent apps with a significant delay of 5–10 hours, push notifications are not received at all. This behavior creates a major challenge for us, as timely notifications are critical for our app’s functionality. We have already verified the following points on our side: Push notification certificates and APNs setup are correct. Payload and server configurations are valid, as notifications are working fine on Android. No restrictions from the server-side, since Android users receive notifications instantly. It seems the issue is specifically related to iOS devices or APNs delivery. Could you please help us identify the cause and provide guidance on how to resolve this?
Replies
2
Boosts
1
Views
333
Activity
Jan ’26