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 :/
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
Created
I'm facing an issue delivering VoIP push notifications to user devices. It's pretty random, sometimes notifications are delivered and sometimes not. I've had a call with the user to understand and narrow down the issue, including testing delivery of pushes to their device token via Push Notification Console as described here: https://developer.apple.com/documentation/usernotifications/testing-notifications-using-the-push-notification-console#4181180.
I asked a user to use Wi-Fi first and tried delivering around 10 pushes via console and 2 of them were lost while the rest was delivered.
I asked a user to use cellular and tried delivering also around 10 pushes and most of them were lost and only few of them were delivered.
Production environment was used to deliver pushes hence I cannot see delivery log and so I have no visibility over a reason why push wasn't delivered.
I wanted to file a code-level support ticket to get help however I need to supply a sample xcode project which in this particular case doesn't make any sense as I'm using Apple's Push Notification Console tool and it delivers pushes in some cases while doesn't deliver it in other cases.
I'm pretty familiar with all potential reasons why push might not be shown on device, including app early crashes, not reporting a call to CallKit etc. => although you never know, I'm pretty sure it's not our case.
How can I get support on investigating specific user device token delivery issues like in the case I described above? I have device token and push console records but it's not clear how to get support on that.
Thank you!
I'm trying to rewrite a Swift code to Swift 6 language mode and am stuck with this problem. How do I safely pass the bestAttemptContent and contentHandler to the Task? This is from the UNNotificationServiceExtension subclass.
final class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?
var customNotificationTask: Task<Void, Error>?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
guard let bestAttemptContent = bestAttemptContent else {
invokeContentHandler(with: request.content)
return
}
do {
let notificationModel = try PushNotificationUserInfo(data: request.content.userInfo)
guard let templatedImageUrl = notificationModel.templatedImageUrlString,
let imageUrl = imageUrl(from: templatedImageUrl) else {
invokeContentHandler(with: bestAttemptContent)
return
}
setupCustomNotificationTask(
imageUrl: imageUrl,
bestAttemptContent: bestAttemptContent,
contentHandler: contentHandler
)
} catch {
invokeContentHandler(with: bestAttemptContent)
}
}
// More code
private func downloadImageTask(
imageUrl: URL,
bestAttemptContent: UNMutableNotificationContent,
contentHandler: @escaping (UNNotificationContent) -> Void
) {
self.customNotificationTask = Task {
let (location, _) = try await URLSession.shared.download(from: imageUrl)
let desiredLocation = URL(fileURLWithPath: "\(location.path)\(imageUrl.lastPathComponent)")
try FileManager.default.moveItem(at: location, to: desiredLocation)
let attachment = try UNNotificationAttachment(identifier: imageUrl.absoluteString, url: desiredLocation, options: nil)
bestAttemptContent.attachments = [attachment]
contentHandler(bestAttemptContent)
}
}
}
I tried using the MainActor.run {}, but it just moved the error to that run function.
The UNNotificationRequest is not sendable, and I don't think I can make it so.
Wrap the setupCustomNotification in a Task will move the errors to the didReceive method.
It seems like the consuming keyword will help here, but it leads to a compilation error, even with the latest Xcode (16.2).
Any pointers?
Dear Apple Engineer
Recently we found that our push delivery rate has decreased. On the website "https://icloud.developer.apple.com/dashboard/notifications/teams/43Y657P48S/app/com.taobao.fleamarket", we found that starting from January 8, 2025, "Discarded - Token Unregistered" showed an upward trend, from millions to tens of millions.
We have not found the reason, and hope you can help us.
Team ID: 43Y657P48S
Bundle ID: com.taobao.fleamarket
Here are some failed tokens, in "Device Token Validator" The query is valid, but the user cannot receive the message:
56025f656cc3aa701898037f59e8d0cb937263ff5585cd1cec9ae661dcc15b19
5fbbd1e604d3662d7583e9377676f8fa276005145278d6dea04b4fc85a7b070e
f0970602551f8d249d8f97960a74006ad78688b52fec6b0d19a585 207caff62e 9388fb40209c100afc2db728342f6fe86c7e34787a8fe4a92b73d2503c5286e0 a2819a4708462588b07452ed827d9afb03c343b586e70dcb67a9981f76295704 8949373cd43783fa3e23d38d55ee1fd72475b39f9c2d2fedca3ecb925b094240
Best Regards!
I am developing an application that uses NetworkExtension (Local PUSH function) And VoIP(APNs) PUSH.
Nowadays, I found a problem on this app doesn't handle incoming call of Local PUSH when receiving a Local PUSH after receiving an APNs PUSH.
My confimation result of my app and server log is below.
11:00 AM:
my server(PBX) requests a VoIP(APNs) PUSH notification to the APNs.
But my app does not receive the VoIP(APNs) PUSH.
At this time, my app is running on LAN (Wi-Fi without internet connection), as a result, NetworkExtension was running. so I think this is normal behaviour.
14:55:11 PM:
There is an incoming call from the my server(PBX) via local net, and NetworkExtension calls iOS API(API name is reportIncomingCall).
However, iOS does not call the delegate didReceiveIncomingCallWithUserInfo for the reportIncomingCall.
14:55:11 PM:
At almost the same time, iOS calls the delegate cdidReceiveIncomingPushWithPayload of VoIP PUSH.
(instead of call the delegate didReceiveIncomingCallWithUserInfo for the reportIncomingCall?)
And the content of this VoIP(APNs) PUSH was the incoming call at "11:00 AM".
In other words, the VoIP(APNs) PUSH at 11:00 AM is stuck inside iOS, and at 14:55:11 PM, from NetworkExtension reports it.
I feel there is a problem on iOS doesn't handle incoming call of Local PUSH when receiving a Local PUSH after receiving an VoIP(APNs) PUSH.
Would you tell me Apple's opioion about this?
If this is known problem, Please tell me about it.
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
User Notifications
PushKit
Push To Talk
I'm having trouble displaying the Apple Wallet pass logo on iOS 18 when a notification occurs. It works on iOS 17 but not on iOS 18 (tested on versions 18.1 and 18.3).
I ensured the Wallet pass icon sizes are correct:
icon.png → 29×29
icon@ 2x.png → 58×58
icon@ 3x.png → 87×87
Questions:
Has Apple changed any requirements for displaying Wallet pass logos in iOS 18?
Are there new size, format, or metadata constraints?
PLATFORM AND VERSION: iOS
Development environment: Other: .net MAUI with vscode
Run-time configuration: iOS 18.1.1
DESCRIPTION OF PROBLEM
APNS notifications of apns-push-type pushtotalk sometimes stop arriving after switching networks.
STEPS TO REPRODUCE
We have created a simple app which can be used to deminstrate this issue. When you launch the app it displays the APNS token which you can then use fromn the Apple Push Console to manually send it PTT push notifications.
https://github.com/trampster/PttPushNotificationIssue
On an iPhone SE (we havn't been able to reproduce on our iPhone 11)
Start the APP to register for the APNS push notifications
Turn off the WiFi wait for 5 seconds
Attempt a push to the app manually using the Push Notifications Console (this should fail, which is fine)
Turn on Cellular and wait for it to connect
Attempt to push to the app manually using the Push Notifications Console
-> This fails, and all attempts to send an pushtotalk push notifications fail until the we switch network again.
Send a push while offline before connecting to the new network seems to make it happen more often but hard to tell for sure.
The results of the failed push in the console look like this:
Delivery LogLast updated: 30/01/25, 16:45:06 GMT+13 Refresh
30 Jan 2025, 16:45:03.661 GMT+13
received by APNS Server
30 Jan 2025, 16:45:03.662 GMT+13
discarded as device was offline
The device is actually very much online.
Switching networks again oftern makes things come right. But it doesn't seem to come right by itself.
We can't respond to network changes and do anything as the whole point of using push-to-talk push notifications is to wake up the app when in the background to answer a call, this means we are not running and therefore cannot respond to network changes to try to work arround this issue.
Hi there,
I’m currently working on an app designed for doctors to respond to life-threatening situations in hospitals. The goal is for critical alerts to trigger an alarm, regardless of whether the app is in the foreground or background. The critical alerts entitlement is already set up, but there’s a limitation: I can only attach a 30-second audio file to the notification, as I can’t run code to loop the sound when the app is swiped away.
Does anyone have suggestions on how I might approach this problem?
Thanks so much in advance!
Topic:
App & System Services
SubTopic:
Notifications
Hello,
I am encountering an issue with maintaining socket connections in iOS applications that need to remain active while in background mode.
I am developing an application that requires maintaining an active socket connection in the background to receive real-time data. However, I've noticed that the socket connection is terminated as soon as the app enters background mode, which affects the intended functionality of my app.
I understand that there are restrictions on background activities in iOS to preserve battery life and system resources. However, I would like to know what approach Apple recommends for handling this type of requirement. Are there specific APIs or configurations I should consider to ensure the socket remains active in the background?
I would greatly appreciate any guidance or resources you could provide. I am eager to ensure that my app complies with Apple's guidelines and delivers the best possible experience for users.
Topic:
App & System Services
SubTopic:
Notifications
The app will be wake up from killed status by silent notification or not?
This is a question for years, from my test. It will wake up.
Here the wake up means it will call the "didFinishLaunchingWithOptions" method. But we can not see the app in the "recent apps" list after switching home-screen up.
So any Apple dev can give me a detailed explain for this?
Hello Everyone,
We have some doubts regarding the apple notification alert update received in Oct 2024 for APNS server certificate update.
Does this change is already live for sandbox environment?
As we have checked on sandbox environment without changing any certificate its working and we are able to get push notification.
Does that means our system does not need any change for production as well?
If required where we should add https://www.sectigo.com/knowledge-base/detail/Sectigo-Intermediate-Certificates/kA01N000000rfBO. This certificate.
For FYI we are using python library called django-push-notifications which internally call to the APNS server for push notifications.
Hello Everyone,
I have some questions regarding the Apple notification alert update received in October 2024 for the APNs server certificate update.
We are using Azure Notification Hub to receive push notifications. I confirmed with the Azure team, and they have already implemented the required changes. However, push notifications are still not working in the sandbox environment.
Could you please provide any insights on this?
Thanks.
We are attempting to update our app to use the PTT framework, as it has been made clear that this will be required in a future iOS version as opposed to using the Unrestricted VoIP entitlement we are using for several features of our app.
However, the behavior of this framework poses some problems with implementing our app's functionality:
It is not possible to programmatically join a channel when the app is not in the foreground. This hinders our ability to implement the Automatically activate radio stream feature of our app, which allows users who have opted into this feature to immediately begin hearing live PTT audio from their agency following an incident alert. Having the app constantly "joined to a channel" and using the restoration delegate could potentially work, however this is not ideal as this would result in the PTT UI needing to be displayed at all times, even when no radio stream is activated.
We have a "Text to Speech" option that, when enabled, reads out the content of an incident alert after the alert sound has played. This currently happens by triggering an AVSpeechSynthesizer in the PushKit incoming push callback. It may be possible to render TTS audio on the fly in a Notification Service Extension and assign it as the notification's sound, if that is possible this is less of a problem.
We also use the PushKit callback to, again if the user has enabled it, activate a "Shake to Respond" feature, allowing a short period of time after receiving an incident alert in which the user can shake their device to indicate that they are responding to the incident. There does not appear to be any way to have the level of background execution required to implement this using an NSE, and this is of course beyond the scope of the PTT framework.
What options do we have to be able to continue to provide this functionality, without risk of it being disabled in a future iOS version?
I received the email from Apple: “Action Required: Apple Push Notification Service Server Certificate Update”.
I'm not quite clear on what exactly I need to do.
In my case, I have my own APN service on a DigitalOcean server and I have both .pem and .p12 certificate there.
Can anyone help me?
Hi,
Regarding the announcement about the Apple Push Notification Service (APNs) Server Certificate Update, I wanted to clarify whether it will impact my app’s push notification setup.
I use Firebase Cloud Messaging (FCM) to send push notifications to iOS devices, and in my Firebase project settings, I have configured an APNs Authentication Key under the Apple app configuration tab (Firebase Console > Project Settings > Cloud Messaging > iOS app configuration).
The authentication key I am using was generated from Apple Developer > Certificates, Identifiers & Profiles > Keys.
Since I am using this authentication method instead of APNs certificates, are there any changes I need to be aware of due to the APNs server certificate update, and do I need to update anything in my current configuration to ensure push notifications continue to work?
Thanks in advance!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
App Store Server Notifications
Notification Center
User Notifications
Hello,
I received this message below. I reached out to support but they said they can not help with something this specific. Any organization in the same boat? Which of the certificates in the provided link should I use?
Hello,
We’re reaching out with a final reminder that the Certification Authority (CA) for Apple Push Notification service (APNs) is changing. APNs updated the server certificates in sandbox on January 21, 2025. APNs production server certificates will be updated on February 24, 2025. To continue using APNs without interruption, you’ll need to update your application’s Trust Store to include the new server certificate: SHA-2 Root: USERTrust RSA Certification Authority certificate.
To ensure a smooth transition and avoid push notification delivery failures, please make sure that both old and new server certificates are included in the Trust Store before the cut-off date for each of your application servers that connect to sandbox and production. At this time, you don’t need to update the APNs SSL provider certificates issued to you by Apple.
I am working with Notification Content Extensions and need to ensure that the content fits within the notification without scrolling. I want to know if there is any API that can provide the maximum available height for the notification content area. My goal is to avoid making the content scrollable inside the notification. Is there a way to dynamically retrieve the height of the notification space, so I can properly adjust the content layout and ensure it fits perfectly without requiring the user to scroll?
Topic:
App & System Services
SubTopic:
Notifications
I've built an iOS & Watch OS app using Sign in with Apple & CloudKit exclusively.
I'm now wanting to implement Push Notifications. I understand that I need a server to trigger the push notifications (I guess I could spool up a Node server somewhere or use Firebase), but I'd really like to not use any non-Apple backend services.
Am I correct in understanding that I can do this with Push Notifications Console, or do I still need a separate backend?
Hi, I’m having issues with push notifications on my phone across multiple apps. When someone sends me a message, I only receive the notification 10 to 15 minutes later. For example, on WhatsApp, people say that my chat only shows one checkmark when they send me a message.
I don’t know what else to do. I’ve already contacted Apple Support, visited an Apple-affiliated physical store, and followed all the recommended procedures. This is my first time using an iPhone—I bought it for professional use, but it’s practically useless if I don’t receive notifications instantly.
They even told me that if I send it in for warranty service, there’s a 90% chance they won’t detect the issue, and the iPhone will come back with the same problem.
Hello. Recently, the users of our APP have reported using our products, and they can normally receive push in Hong Kong. However, when traveling to Japan or some countries and regions in Europe, push will not be received.
we checked that
-the cert is valid
-the server get 'sent successfully' response
-used pushtry to test the cert and token and it can receive push in app