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

Concerning Socket Disconnection Issues in iPhone VoIP Applications
We are encountering the following issue with our VoIP application for iPhone, published on the App Store, and would appreciate your guidance on possible countermeasures. The VoIP application (callee side) utilizes a Wi-Fi network. The sequence leading to the issue is as follows: VoIP App (callee): Launches iPhone (callee): Locks (e.g., by short-pressing the power button) VoIP App (callee): Transitions to a suspended state VoIP App (caller): Initiates a VoIP call VoIP App (callee): Receives a local push notification VoIP App (callee): Creates a UDP socket for call control (for SIP send/receive) VoIP App (callee): Creates a UDP socket for audio stream (for RTP send/receive) VoIP App (callee): Exchanges SIP messages (INVITE, 100 Trying, 180 Ringing, etc.) using the call control UDP socket VoIP App (callee): Answers the incoming call VoIP App (callee): Executes performAnswerCallAction() Immediately after executing performAnswerCallAction() in the above sequence, the sendto() function for both the "UDP socket for call control (SIP send/receive)" and the "UDP socket for audio stream (RTP send/receive)" occasionally returns errno = 57 (ENOTCONN). (of course The VoIP app itself does not close the sockets in this timing) Given that the user has performed an answer operation, the iPhone is in an active state, and the VoIP app is running, what could be the possible reasons why the sockets suddenly become unusable? Could you please provide guidance on how to avoid such socket closures? Our VoIP app uses SCNetworkReachabilitySetCallback to receive network change notifications, but no notifications regarding network changes were received at the time errno = 57 occurred. Is it possible for sockets used by an application to be closed without any notification to the application itself?
3
0
54
4d
How can I be notified when my app is in foreground and server start an live activity by push notification
My app will be woken when Activity.pushToStartTokenUpdates delivered the new token. But I want to know how can I get the activity.pushTokenUpdates when my server start an live activity via push notification, because without the activity.pushTokenUpdates, my server can't deliver update information after start the live activity. For now, I check the activities when my app switch foreground/background. But how can I be notified when my app is in foreground and server start an live activity by push notification. I've tried "content-available": 1 in LA's payload aps, but I also can't be notified in the didReceiveRemoteNotification in appDelegate.
1
0
406
Dec ’24
SHA-2 Root: USERTrust RSA Certification Authority certificate.
Got notification to update this certificate - there was a link to Sectigo.com where I found an attachment with that name - when I clicked it I got a box where it said to install it. Clicked the box and it was saved somewhere on my computer. Now I dont know if that's it or I need to take further actions - please help :-) Have no experience with this - my collegue who did this has stopped. Hoping for a simple answer :-) P
3
0
528
Feb ’25
Regarding "Overview of app transfer"
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.
3
0
156
5d
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
0
0
63
Oct ’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
140
Oct ’25
Status of Action Required: Apple Push Notification Service Server Certificate Update
According to the Apple notification alert received in October 2024, the APNS server certificate update for production is scheduled for February 24, 2025. Has this change been implemented, or is there a platform or method to verify whether this update has been applied in production? If so, where can we check this?"
1
0
310
Feb ’25
AlarmKit alarm UI strings are lost after updating OS
I have a working AlarmKit app, but I've noticed that after any iOS update (e.g. the 26.0.1 update from a few days ago), my scheduled alarms seem to lose their UI strings, so instead of the Stop button saying "Stop", it says "alarm_ui_stop_button" (which is my localization key for the button text). If I delete the alarm and re-add it, then it works again... until the next software update. It seems like OS updates are interfering with the link between scheduled alarms and app localization strings, which I believe are dynamically looked up at alarm time (not at configuration time). I am settings the strings in the standard way like this: AlarmManager.AlarmConfiguration( schedule: .fixed(date), attributes: AlarmAttributes<SDAlarmMetadata>( presentation: AlarmPresentation( alert: AlarmPresentation.Alert( title: "alarm_ui_title", stopButton: .init(text: "alarm_ui_stop_button", textColor: .yellow, systemImageName: "xmark") ) ), metadata: SDAlarmMetadata(title: title, subtitle: subtitle), tintColor: .yellow ), sound: .default ) Has anyone else noticed this or found a workaround? I guess I could use localization keys that are identical to the desired text, but this would only work for one language.
3
0
130
Oct ’25
Apple Push Notification service server certificate update
You are probably aware of the upcoming root certificate change for any servers you might have that you use to send push notifications by connection to APNs. If you are not, here is the announcement. We have been getting some questions about this, and understand not everyone is familiar with their server setup. First, we would like to clarify that this is only a change to your server's certificate trust store. You do not need to update anything else, like your APNs push certificates, the build certificates and provisioning profiles for your team/app, and so on. All you need to do is to install the mentioned new root certificate to your push server's trust store. If you are using a 3rd party push provider, it is them who will need to handle their servers. But you may want to double check with them nevertheless. If you are managing your own push servers that connect to APNs directly, then it is your responsibility to download and install the root certificate mentioned in the above link on your server(s). Unfortunately we cannot provide specific instructions on how to install this root certificate on every kind of server out there. Each server operating system/push server software will have different ways these root certificates are installed, which is out of scope of our support abilities. If you are not sure how to do this, I would recommend you seek help for this from your server-side developers or server admins. Or, if you don't have access to such resources, you can ask the support channels for your system the question: How do I install a root certificate? We have setup a test server at 17.188.143.34:443 that you can use to try and send pushes to test whether your new root certificate is correctly installed. An alternative way to test this would be, from a terminal prompt: openssl s_client -connect 17.188.143.34:443 -servername api.sandbox.push.apple.com -verifyCAfile USERTrustRSACertificationAuthority.crt -showcerts Change the parameter to the -verifyCAfile argument to point to your trust store, and it should allow you to validate Sample return results would be: Connecting to 17.188.143.34 CONNECTED(00000003) depth=2 C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority verify return:1 depth=1 CN=Apple Public Server RSA CA 11 - G1, O=Apple Inc., ST=California, C=US verify return:1 depth=0 C=US, ST=California, O=Apple Inc., CN=api.sandbox.push.apple.com verify return:1 Argun Tekant /  DTS Engineer / Core Technologies
0
0
2.2k
Jan ’25
I would like to know why I didn't receive a VoIP notification.
We have modified the program as we received in the previous(thread 764479) issue. Our program works very well and the notification problem has been almost solved in the test. Then, we tested it in the user's environment. At that time, one of the three iPhones stopped receiving notifications. After 10 minutes, VoIP notifications were received again. This device received PUSH notifications even when VoIP notifications did not come. We must explain to the user why this incident occurred. We would like to know if these three notifications were sent correctly to the device. Also, is there any other way for us to deal with this other than improving the network? [APNS LIST]Nov. 20th could not receive(failed) 15:06:13 5793987C-D1A4-811F-917F-87DD7F5083B3 15:07:09 667E0A2F-43B5-37FC-2F2A-45A6C27EFC34 15:19:31 1353DF78-519E-B1DC-82B7-8B890E59FE37 received(success) 15:04:09 19CC1937-533A-9AF4-9472-41C839E461D7 15:35:00 CD23AC57-6EC7-4523-941F-B103EDB4DEFB
0
0
357
Nov ’24
NSUserNotificationsUsageDescription only works for certain locales
I'm trying to provide custom localized descriptions for the iOS notification permission popup in my app, which supports multiple locales. To achieve this, I'm using InfoPlist.strings files per locale with the following keys: NSUserNotificationsUsageDescription NSUserTrackingUsageDescription The issue I'm facing is that NSUserTrackingUsageDescription is working correctly across all tested locales, but NSUserNotificationsUsageDescription only works for some locales. Locales tested: Working: ja, tr, fr-CA Not working: fr-BE, nl-BE In each case, the correct localized NSUserTrackingUsageDescription appears, but the NSUserNotificationsUsageDescription falls back to the default or does not appear as expected in fr-BE and nl-BE. I'm using Xcode 16 and testing on both iOS 18 simulator and physical devices, and the issue is consistent across both. Any insights on whether this is a known issue in iOS or if there are additional steps needed for NSUserNotificationsUsageDescription to localize properly would be greatly appreciated.
1
0
170
Jun ’25
Call screening now working
I’m getting calls from Pakistan every hour. I cant block them because it’s a different number every time. I have downloaded the new beta version of the upcoming software update and it allows you to set to ask a question before unknown callers ring through. It’s not working and my phone is constantly ringing. I can’t block unknown callers as I use my phone for work. How can I silence ringing from calls specifically from Pakistan Using the country code?
0
0
37
Oct ’25
PushKit Voip notifications not triggering CallKit UI in the background
I am trying to add voip call functionality to my app. It works as expected while the app is in the foreground. But in the background it does not. I have registered the app as requiring background voip permissions. My implementation doesn't fit into one of these posts, so here is a gist: https://gist.github.com/BrentMifsud/4be43c022c1279f04ecb56250a86b3f1
0
0
374
Jan ’25
My app suddenly cannot receive push notifications
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.
1
0
87
Sep ’25
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.
0
0
93
Sep ’25
Silent Push notifications XCode 16.3 stop working on production
Hello, we have recently started signing and building our applications using Xcode 16.3. Since we made this change, we’ve noticed that the applications have stopped receiving silent push notifications (content-available: 1) when they are distributed via TestFlight or the App Store, even though we haven’t changed anything in the way these notifications are sent. As I mentioned, this started happening after migrating our project from Xcode 15 to Xcode 16.3. Regular push notifications are still working as expected, but silent ones are not being received by the apps. We are desperate because we rely on these silent notifications to inform the apps of updates, and we haven’t been able to identify the root cause of the issue.
2
0
73
May ’25
Update Apple Push Notification Service (APNs) server certificate
Currently, our company server is using the push service by calling APNS through the p8 certificate. In this process, our server does not have a CA certificate or SSL certificate in use. Only the p8 certificate is installed and only performs the role of calling APNS. If it is used like this, is there no need to update the CA certificate separately? Or do I have to apply a new SSL certificate and add the CA to it? Can someone help me plz?
1
0
476
Jan ’25
IAP refund decision changed
We integrated App Store Server notification, to get notified about CONSUMPTION_REQUESTS and REFUND notifications. In the data, we noticed same transactionId have multiple REFUND decisions, usually REFUND_DECLINED and then REFUND. Why is that? Did user contact customer support ? For the second (or later) REFUND decision, CONSUMPTION_REQUEST notifications are usually not sent, but thats not always the case. Sometimes, REFUND decision are the same. Sometimes, we get even 3 or more REFUND related notifications for same transactionId, e.g: 2024-12-02: REFUND_DECLINED 2024-12-05: REFUND_DECLINED 2024-12-12: REFUND Do user request refund again ? Do they contact customer support ? But I can not explain why sometimes status it REFUND at first, but then later REFUND_DECLINED. Thank you already in advance:)
0
0
336
Jan ’25