ISSUE:
CloudKit subscriptions are not triggering push notifications despite correct configuration. CloudKit logs show RecordSave events but NO NotificationSend events, indicating CloudKit is not attempting to send to APNS.
CONTAINER:
iCloud.Wunderkind.StrikeForceApp
ENVIRONMENT:
Tested in both Development and Production
iOS 18.6.x
Xcode 15.x (update with your version)
Device: iPhone (not simulator)
EVIDENCE:
Subscriptions exist and are visible in CloudKit Dashboard
Records are being created successfully (verified in logs)
Device token is registered: 60eb962ff189dc5c2c0ef3e9d6643d72b4442a831bae224d2a553588b2e29139
Local notifications work correctly
CloudKit logs show RecordSave but NO NotificationSend events
STEPS TAKEN:
Regenerated push certificates
Disabled and re-enabled Push Notifications capability
Deleted and recreated subscriptions
Tested in both Development and Production environments
Verified aps-environment entitlement matches environment
Confirmed notification permissions granted
SPECIFIC TEST:
Creating a Challenge record with recipientRef matching my user triggers:
✅ RecordSave event in CloudKit logs
❌ No NotificationSend event
❌ No push notification received
EXPECTED:
CloudKit should send NotificationSend events and deliver push notifications when subscriptions match.
ACTUAL:
No NotificationSend events appear in CloudKit logs, no notifications delivered.
Notifications
RSS for tagLearn about the technical aspects of notification delivery on device, including notification types, priorities, and notification center management.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Could anyone play a sound from the Library/Sounds directory using alarmkit? Same file can play in app bundle, but not available in Library/Sounds directory. Is this by design?
Topic:
App & System Services
SubTopic:
Notifications
Notification coordination between iOS and watchOS is not working properly
watchOS and iOS try to coordinate between phone and watch notifications.
The concept here is that if there is a main app and a companion app, they could both be sending a notification, then the notification would alert on both, which is a deviation from how notification mirroring is handled if there is an iOS app but no watch app.
The watch waits for the iOS notification to fire so they can determine if this is the same notification that needs to be deduped, displayed on one device but not the other, or separate notifications to be displayed both.
If there is no notification on the phone, the watch will timeout after 13 seconds and alert anyway.
If you have an iOS companion app, the best solution to this is to send the same notification on both devices simultaneously, and ensuring the UNNotificationRequest.identifier matches on both notifications. This will let the systems determine how to handle the notification correctly and quickly, and the notification will alert right away.
https://developer.apple.com/forums/thread/765669
According to the above article, "when a notification arrives on watchOS alone first, it coordinates with iOS," but in reality, it doesn't work properly.
Detailed process of this phenomenon
watchOS receives a notification.
On watchOS, the notification is not immediately shown to the user.
iOS receives a notification with the same UNNotificationRequest.identifier as in (1).
The notification in (3) does not appear on either iOS or watchOS. However, the notification from (3) does appear in iOS Notification Center.
Thirteen seconds after watchOS received the notification, the notification from (1) is shown to the user on watchOS.
In the end, the iOS and watchOS notifications are not consolidated and each remains in its respective notification center.
Up to (3) there are no issues. Starting with (4), both iOS and watchOS exhibit a lot of odd behavior.
This phenomenon occurs with both local notifications and push notifications.
When iOS receives the notification first, there is no problem. The notification for watch received later is processed appropriately, and the watchOS notification is not additionally displayed to the user.
Expected proper process
Same as above.
Same as above.
Same as above.
The notification in (1) is integrated into the notification in (3).
The notification in (3) is alerted to the user immediately.
2 sample projects to reproduce
Only the main code is attached.
Sample project1: local notifications
Swift code for local notification app (iOS, watchOS) - App.swift.txt
Sample project2: push notifications
This sample project is implemented using Firebase Functions and Firebase Cloud Messaging.
Swift code push notification app (iOS, watchOS) - App.swift.txt
Server side JavaScript code for FirebaseFunction - index.js.txt
Tested devices and OS
This phenomenon occurred in both of the following patterns.
Pattern 1
Xcode 26.0
iPhone 16 (iOS 26.0)
Apple Watch series 10 (watchOS 26.0)
Pattern 2
Xcode 16.4
iPhone 11 (iOS 18.6)
Apple Watch SE 2nd gen (watchOS 11.6)
Question
Is this phenomenon a bug?
Or is my understanding or implementation incorrect?
Feedback Assistant number
FB20339772
Since upgrading to Xcode 26 beta 4 and using the iOS 26 simulator for testing our app, we've stopped being able to receive device tokens for the simulator from the development APNS environment.
The APNS environment is able to return meta device information (e.g. model, type, manufacturer) but there are no device tokens present. When running the same app using the iOS 18.5 simulator, we are able to register the device with the same APNS environment and receive a valid device token.
After porting code to Swift 6 (Xcode 16.4), I get a consistent crash (on simulator) when using UNUserNotificationServiceConnection
It seems (searching on the web) that others have met the same issue. Is it a known Swift6 bug ? Or am I misusing UNUserNotification ?
I do not have the crash when compiling on Xcode 26 ß5, which hints at an issue in Xcode 16.4.
Crash log:
Thread 10 Queue : com.apple.usernotifications.UNUserNotificationServiceConnection.call-out (serial)
As far as I can tell, it seems error is when calling
nonisolated func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
I had to declare non isolated to solve a compiler error.
Main actor-isolated instance method 'userNotificationCenter(_:didReceive:withCompletionHandler:)' cannot be used to satisfy nonisolated requirement from protocol 'UNUserNotificationCenterDelegate'
I was advised to:
Add 'nonisolated' to 'userNotificationCenter(_:didReceive:withCompletionHandler:)' to make this instance method not isolated to the actor
I filed a bug report: Aug 10, 2025 at 2:43 PM – FB19519575
Topic:
App & System Services
SubTopic:
Notifications
Tags:
Swift
Xcode
Notification Center
User Notifications
Excited for AlarmKit! I have found two concerns that I cannot find answers for though.
The volume of my alarms seems to be very quite relative to the full volume capability of the device. For example, if I turn the volume all the way up and play the audio file, the sound is very loud. However then, if I set the alarm using alarm kit with the same audio, the track played during the alerting phase is not that loud. I am afraid that it will not be loud enough in real life. Will there be future support to set the volume level of the alarm to maximum settings?
When I press the volume buttons (with the app open) during an active alarm, the audio stops, but the alarm manager does not clear these events. The alarm manager does clear the alarm event if the alarm is stopped through a live activity.
Topic:
App & System Services
SubTopic:
Notifications
We have a question regarding iOS app configuration and the Remote notifications background mode.
During our testing, we observed:
*When enabling or disabling Signing & Capabilities > Background Modes > Remote notifications, the change does not take effect on devices that already have the app installed.
*The app continues to behave according to the old configuration.
*Only after uninstalling the app and reinstalling it from the App Store do the new settings take effect (for example, whether the app can be woken up by silent push).
*We also tested updating the app with a new version number (App Store upgrade flow), but the new settings still did not apply.
Our questions are:
1.Is there any way to make iOS re-read the updated Signing & Capabilities (Background Modes) settings without requiring a full uninstall/reinstall?
2.Is it expected behavior that even an App Store upgrade with a new version number will not apply these changes?
thanks!
Topic:
App & System Services
SubTopic:
Notifications
When I turn the Ringtone and Alerts volume all the way up, I expect standard notifications to play at the loudest level the device allows. In theory, this should match the volume of a critical alert with its sound.volume set to 1.0 in payload.
However, I’ve noticed that non-critical notifications still play quieter than critical alerts under these conditions. Critical alerts with volume: 1.0 sound noticeably louder than standard notifications, even though the Ringtone and Alerts slider is already set to maximum. And I couldn't find a documentation for this behavior anywhere.
Is this expected behavior on iOS? And is there any way to make non-critical notifications play at the same maximum loudness as critical alerts?
Thanks in advance for any clarification.
My app(The Smart Life app) is unable to receive push notifications. Please confirm whether APNs has received push notifications from Alibaba Cloud and whether APNs has successfully pushed notifications to the Smart Life app.The Smart Life app uses Alibaba Cloud's push notification service. The message ID pushed by Alibaba Cloud is: f7a02288-a995-47ed-b417-837461028f03
Current Symptom: Alibaba Cloud has reported that this message has been successfully pushed to APNs, but the smart life app has not received any push notifications. The feedback log from Alibaba Cloud shows that the APNs push was successful, but the smart life app did not receive any push. Because APNs do not have message receipts and Alibaba Cloud cannot obtain notification delivery status, it is recommended that I use the APNs channel message ID to submit a work order to Apple technical support for investigation.
Note: All push notification permissions for the Smart Life app are enabled, and the Smart Life app is in the foreground when push notifications are sent.
I created an APNs Auth Key in the Apple Developer portal and downloaded it successfully once.
Later, due to some issues, I revoked that key.
After that, I created a new APNs Auth Key.
The download button appears, but when I click it, I get the message:
"Auth Key can only be downloaded once. This auth key has already been downloaded."
This is incorrect because:
The key is newly created in my account.
I have tried multiple browsers (Safari, Chrome), private/incognito mode, and even a different laptop.
I have no other active APNs Auth Keys in my account.
Without this .p8 file, I cannot configure push notifications for my iOS app (using Firebase Cloud Messaging).
This is blocking my production release.
Has anyone else experienced this? Is there a way to reset or force a fresh APNs Auth Key when this happens?
If an iOS application has a notification service extension which gets sent a push, but the user has not been prompted for notification authorization via requestAuthorization() then what is the expected behavior?
Will the push get delivered to the NSE but the resulting notification not displayed? Or will the push not get delivered at all to the NSE?
We're trying to add simple notifications to our CarPlay integration that should open certain template when pressed, but the issue is that when pressing this notification on CarPlay screen nothing is invoked in the code (presumably didReceive should be invoked). All works fine with the same notification but pressed on the iPhone screen - didReceive is invoked properly. How should I handle the action when push notification is pressed on CarPlay screen?
Discrepancy between App Store Server API `expiresDate` and iOS Settings subscription expiration date
I am developing an iOS app that uses App Store Server API (v2) for auto-renewable subscriptions.
I noticed a discrepancy between the expiration date returned by the API and the date displayed in iPhone Settings > Subscriptions:
App Store Server API expiresDate: 2025-09-12T12:10:25 (KST)
iOS Settings > Subscriptions: 2025-09-11 (one day earlier)
My understanding:
The API’s expiresDate is the precise UTC timestamp.
The Settings UI might display the "last full calendar day" for UX purposes.
Questions:
Is this behavior (UI showing one day earlier) an intentional Apple policy?
If so, is there any official documentation or guideline explaining this behavior?
Should developers always rely on the API’s expiresDate for subscription state management?
This discrepancy is confusing for both developers and end users, so any clarification or official reference would be greatly appreciated.
Topic:
App & System Services
SubTopic:
Notifications
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.
Dear Apple Team,
I hope this message finds you well. I wanted to share a playful and innovative idea that could enhance the iPhone experience—particularly when viewing content in full-screen mode through apps like Apple TV or YouTube.
Feature Concept: Hands-Free Dismissal of Notifications
When the iPhone is in landscape mode, incoming notifications can interrupt the viewing experience. While Focus Mode and swipe gestures help, I thought of a more intuitive and hands-free interaction: using a light puff of air directed toward the screen to dismiss a notification.
This interaction could use the microphone or other onboard sensors to detect a brief burst of air, providing a fun and natural way to maintain immersion without touching the device.
If this isn’t feasible with current hardware, here are a few alternative concepts that align with the same goal:
Blink to Dismiss: Using Face ID sensors to detect a quick blink as a hands-free gesture.
Shake to Dismiss: A gentle shake gesture when holding the iPhone in one hand.
Gaze-Based Dismissal: Notifications automatically disappear after a brief moment of eye contact.
These ideas could offer both accessibility benefits and a touch of delight—making the iPhone feel even more magical and responsive.
Thank you for your time and for considering this suggestion!
Warm regards,
Badhan Baidya
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!
I trying to validate the certificate I created for APNS using the following command but I get an error.
openssl s_client -connect gateway.push.apple.com:2195 -cert temp.pem -debug -showcerts
Error: getaddrinfo: nodename nor servname provided, or not known
connect:errno=0
Any help will be greatly appreciated.
Topic:
App & System Services
SubTopic:
Notifications
If there is a Notification Service Extension which has the com.apple.developer.usernotifications.filtering entitlement, then does/how having that entitlement affect the preconditions for the NSE to be delivered a push?
Specifically, if the app has not prompted for requestAuthorization() is it expected that the push will be delivered to the NSE or not?
Thank you
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?
The APNs Feedback Service domain “feedback.push.apple.com” was deprecated on March 31, 2021, and became unavailable after August 2025 due to domain name resolution failures.
Will this feedback service become available again in the future?
Also, is it possible to use the APNs Feedback Service with a domain different from “feedback.push.apple.com”?