The Push Notifications Console now includes metrics for notifications sent in production through the Apple Push Notification service (APNs). With the console’s intuitive interface, you’ll get an aggregated view of delivery statuses and insights into various statistics for notifications, including a detailed breakdown based on push type and priority.
Introduced at WWDC23, the Push Notifications Console makes it easy to send test notifications to Apple devices through APNs.
Learn more.
APNS
RSS for tagSend push notifications to Mac, iOS, iPadOS, tvOS devices through your app using the Apple Push Notifications service (APNs).
Posts under APNS tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Team-scoped keys introduce the ability to restrict your token authentication keys to either development or production environments. Topic-specific keys in addition to environment isolation allow you to associate each key with a specific Bundle ID streamlining key management.
For detailed instructions on accessing these features, read our updated documentation on establishing a token-based connection to APNs.
Since I updated my iPhone 13 to this new update I have two problems
First: the battery discharges too fast or it gets stuck and doesn't discharge until I turn it off and turn it back on.
Second: I see in my screen time a page that I had never seen is called imasdk.googleapis.com which I had never occupied and they tell me that it is a failure of the new update
I hope you can help me fix that, since this mobile phone is new and already brings the faults by the ios
The APP was not awakened by system after start a liveactivity and the liveactivity has showed on lock screen.so the updatetoken wont send to our inner server and the liveactivity can not update,often like this,but sometimes it can work.
it makes me confuse,and i don't know how should i can do,because the liveactivity like a black box,i can not analyse the data link.for example ,inner server send a start liveactivity,but it can not accept a updatetoken unless the user lanuch APP.
i hope the liveactivity can start and update on background. And i have developed it as described in the document.
Hope to get your help,thank you very much.
My iPhone VoIP app, which I'm developing, uses Apple Push Notification service (APNs).
I have a question regarding the following statement found in "[Overview of app transfer > Apps using push notifications]"
Overview of app transfer
You must manually reestablish push notification services if transferring an app that uses
the Apple Push Notifications service (APNs). The recipient must create a new client
SSL certificate using their developer account, as associated client SSL certificates,
TLS certificates, and authentication tokens aren’t transferred.
Question
Let's say the recipient of the app transfer creates a "new SSL certificates, TLS certificates, and authentication tokens."
Afterward, we need to verify that the Apple Push Notification service (APNs) works correctly when combining the transferred app with this "new SSL certificates, TLS certificates, and authentication tokens."
However, until the recipient finishes verifying that it works correctly, the transferor want to keep the app available for download as before and be able to use the Apple Push Notification service. Is this possible?
More specifically, can the recipient test the app to be transferred on TestFlight "before the transfer is completed"?
I want to combine it with the "new SSL certificates, TLS certificates, and authentication tokens." and test it on TestFlight.
Reading "[Initiate an app transfer]," it mentions the existence of a "Pending App Transfer" status.
During this "Pending App Transfer" status, can the recipient test the app on TestFlight?
Initiate an app transfer
After you initiate the transfer, the app stays in its previous status, with the Pending App Transfer status added, until the recipient accepts it or the transfer expires after 60 days.
Also, if there are any documents describing these procedures, I would appreciate it if you could share them.
Thank you very much.
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
App Store Connect
TestFlight
PushKit
Q1. Can you place a sound on an end event? That doesn't seem to work for us
Additionally:
Q2. Is there any way that after you send the end event, still have the Live Activity remain on the Dynamic Island until the dismissal-date?
Currently when an end event is sent, it's abruptly ended from the Dynamic Island without any sound. Users are confused until minutes/hours later they see their Lock Screen.
Good morning,
We are implementing Live Activities in a push-to-start flow. We wrap the listener for push to start tokens in a high priority task:
if ptsListenerTask == nil || ptsListenerTask?.isCancelled == true {
ptsListenerTask = Task(priority: .high) { [weak self] in
for await pushToken in Activity<LiveAuctionAttributes>.pushToStartTokenUpdates {
//Send token to back-end
}
}
I've tried a few variations of this and they work well on most devices. I have seen a couple of devices that refuse to issue a push to start token.
The user will have logging for the init flow and starting the PTS listener then the logs just go silent, nothing happens.
One thing that seemed to work was getting the user to start a Live Activity manually (from our debugging tool) then the PTS token gets issued.
This is not very reliable and working a mock live activity into the flow for obtaining a PTS token is a poor solution.
Is anyone else seeing this and is there a known issue with obtaining PTS tokens?
Thanks!
Brad
We are trying to figure out a strange issue.
Our app has not changed for at least 10 months but my devices and the QA tester device have all stopped receiving push/call notifications for twilio voip
The twilio credential and apple voip services certificate are in date and valid
It is pointing to the correct bundle id and topic (not changed configuration for years)
token passed in to TwilioVoiceSDK.register() is retrieved from PKPushRegistry as per guide
Running locally the Twilio Voice SDK successfully registers and retrieves APNs token
What is interesting is if I log in with exactly the same client account on an iOS 18.5 device (and an older iPad) call notifications work perfectly (I have made sure all focus modes/dnd are off and notification settings are identical)
The only changes myself and QA have made recently is minor iOS 18 version updates - 18.6.2 and 18.7.1
These now receive Invalid device token from APNs when Twilio attempts to create a call/voip notification for the user identity
Our devices sometimes switch environments test/prod so I installed the app cleanly on a borrowed 18.6.2 device and got the exact same issue
We have tested on these devices most of the year with no issues.
I have been in touch with twilio support and added code to explicitly unregister and re register on an affected device to clear any bindings but it didn't help.
Have apple made any changes in PushKit or token behaviour for later versions of iOS 18?
Thanks
Hi everyone,
I am having issues with all my MacOS devices (3 so far) and push notifications.
My app is in development and when i send a Test APN (From the Push Notification Console) to any of my MacOS devices (using the device token), the log is "discarded as device was offline".
Fun fact, if i run the command : sudo kill apsd
I receive the previously "discarded" Push notification immediately.
Is it a known bug or something is wrong in my configuration ?
Note : my debugProfile.entitlements is fine and the value is set to "development", i have already reloaded my certificate by cleaning the project and rebuilding (according to ChatGPT) but nothing works...
I am using Xcode 26.0.1 and MacOS 26.0.1 on my 3 different MacOS devices all having this issue.
Thanks in advance,
Tom
https://ss.bscstorage.com/playlet-oss-res/video/2025195/%E6%BC%94%E7%A4%BA3.mp4?AWSAccessKeyId=6jndo5gcx079kvpu3myf&Expires=1760941761&Signature=hBcY7TDq%2BZHOARoFKY6CAthju%2Fc%3D
This is the link of the demonstration video. How is this function effect in the video achieved?
our app support silent push, and we use below code to get if app is launched by silent push:
if let remoteNotification = launchOptions?[UIApplication.LaunchOptionsKey.remoteNotification] as? [AnyHashable: Any],
let aps = remoteNotification["aps"] as? [AnyHashable: Any],
let contentAvailable = aps["content-available"] as? Int,
contentAvailable == 1 {
isSilentNotification = true
}
when app is launch and call:
application(_:didFinishLaunchingWithOptions:)
but when migrate to UIScene, the launchOptions is always nil, and we can not get to know if app is launched by silent push;
I read the develop doc:
it says:
If the app supports scenes, this is nil.
Continue using UIApplicationDelegate's application(_:didReceiveRemoteNotification:fetchCompletionHandler:) to process silent remote notifications after scene connection.
but the time for method calling
application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
id too late.
So except in didReceiveRemoteNotification method calling:
application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
are there any other ways to obtain the silent push flag when app is launch and has not didReceiveRemoteNotification call back.
For testing, I'm trying to "manually" send a push notification to my app using Apple's tool at https://icloud.developer.apple.com/dashboard/notifications/ ... , and I can't figure out where to get the required device token without writing a program to do so. Is there somewhere in Xcode or on https://developer.apple.com where I can copy it from? I already have the .p8 file with APNs enabled, and have set the "remote notifications" capability for the app in Xcode.
I must be missing something obvious. I've read a bunch of search results and all they cover is how to get the token programmatically. The device token must be available somewhere, right?
When the app kills the process. Received APNs push message. Push messages carry voice related information. At the same time as receiving the push, obtain the voice playback of this voice message. How to achieve it?
Push message on the lock-screen disappears in one specific instance.
In general the situation is as follows:
the application, upon starting up, sets the badge counter (i.e. notificationCenter.setBadgeCount(3))
the application is being sent to background
the screen is locked (it doesn't matter if it's turned on or not)
send a push message to the application and set the badge (in aps) to "0"
What happens:
the screen lights up (unless it's lit up already), the push is being displayed for a very short time and gets hidden.
Happens on iOS 18.1, 18.1.1, 18.2. If not setting badge in the aps keys it works correctly.
I've created a feedback report https://feedbackassistant.apple.com/feedback/16095572. I am able to reproduce the issue on a sample app 100% of the time :/
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.
Hello Apple Developer Community,
We’re building an MDM product (SaaS, multi-tenant). I’d like clarification on the APNs MDM push certificate usage model for service providers (MSPs).
Question:
Is it acceptable for an MDM vendor to use a single APNs MDM push certificate owned by the vendor to manage devices for multiple, independent customer organizations?
Or is it required/recommended that each customer (company) must obtain and use its own APNs MDM push certificate (issued under the customer’s Apple ID) for their tenant?
Why we’re asking:
We understand that many guides show the process where each customer logs into the Apple Push Certificates Portal with their own Apple ID, uploads a CSR provided by the MDM, and then renews yearly.
Practically, for a small team and early-stage deployments, using one vendor-owned certificate across multiple tenants would be simpler.
We want to ensure we’re not violating any policy, terms, or technical requirements (e.g., certificate ownership, topic binding, device token isolation, audit/compliance expectations).
What we need from Apple (or authoritative sources):
An official Apple document or policy that clearly states whether per-customer certificates are mandatory vs strongly recommended for MSP/multi-tenant MDMs.
If per-customer is mandatory, please point to the relevant clause or section.
If a vendor uses a single certificate for multiple organizations, what risks or consequences should we expect (e.g., compliance issues, supportability, potential program violations, off-boarding problems, etc.)?
Context:
We’re sending only MDM wake notifications (standard MDM flow).
We understand certificates expire yearly and must be renewed with the same Apple ID to avoid device re-enrollment.
We want to follow Apple’s best practices while keeping early operations manageable.
Any guidance, links to official documentation, or clarification from Apple engineers/moderators would be greatly appreciated.
Thank you!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
Apple Business Manager
Device Management
Hi all,
May I please ask for an official clarification or documentation reference from Apple regarding this scenario:
Is it possible for an iOS app to automatically launch or open a specific screen when a push notification is received — while the app is in the background or terminated (killed) state?
I understand that for most cases, user interaction (such as tapping the notification) is required before the app can show UI. However, I’d like to confirm whether this is also true for time-sensitive or critical alert notifications, including emergency use cases (e.g. public safety alerts).
Specifically:
Can a critical alert notification directly launch the app or present a view controller?
Or is user interaction always required before the app can present any UI, even with the critical alert entitlement?
I would appreciate if anyone — especially Apple staff or engineers — could share an official Apple document or statement that confirms this behavior.
Thank you very much!
(Use case context: I’m developing an emergency broadcast feature for a property management / tenant app.)
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
User Notifications
PushKit
Background Tasks
{
"aps": { "content-available": 1 },
"audio_file_name": "ding.caf",
"audio_url": "https://example.com/audio.mp3"
}
When the app is in the background or killed, it receives a remote APNs push. The data format is roughly as shown above. How can I play the MP3 audio file at the specified "audio_url"? The user does not need to interact with the device when receiving the APNs. How can I play the audio file immediately after receiving it?
Hello all 👋
We're developing an app for families with neurodivergent members (primarily autistic children) and have run into a critical reliability issue with silent push notifications that breaks core functionality.
Our current implementation:
When a caretaker updates the person's daily routine/schedule in our system, we send a silent push notification to the user's device. The app wakes, connects to our server, downloads the updated schedule, and creates/updates local notifications for upcoming activities.
The problem:
Because the app is rarely/never directly interacted with by the end user (the child doesn't open the app - caregivers configure it on their behalf), silent push notifications get progressively throttled and eventually stop being delivered entirely. This means schedule changes made by caregivers never reach the device, breaking the app's core value proposition. Uninstalling and reinstalling doesn't reset the throttling state
Questions:
Is there any way to reset or mitigate throttling for devices that legitimately need background updates but have low or no user interaction? This is an accessibility use case where the end user (child) doesn't interact with the app, but the app must reliably receive updates. Would switching to regular (visible) push notifications avoid this throttling even if the app is not interacted with?
We already have Critical Alerts entitlement, but for regular updates we're worried that the "CRITICAL ALERT" banner will be too upsetting for the child. Is there any exception process for accessibility apps to change the way Critical Alerts are presented?
For neurodivergent individuals, predictable routines are essential. When schedule updates don't reach their device, it can cause significant distress. This is a genuine accessibility need, not a "nice-to-have" feature.
Any guidance from Apple engineers or developers who've solved similar challenges would be greatly appreciated.
Thank you!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
iOS
Accessibility
User Notifications
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!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
Cloud and Local Storage
Background Tasks
Watching WWDC video: https://developer.apple.com/videos/play/wwdc2023/10185/?time=481
It says:
So when encoding your content state, do not set any custom encoding strategies. Otherwise, your JSON will be mismatched, and the system will fail to update your Live Activity
So I'm just wondering if using JSONDecoder is allowed for decoding apps payloads for the UI of a Live Activity? Or is there a performance hit for this?
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.