For at least the past couple of days (maybe longer), nothing seems to happen when I send an Empty Push Notification to at least 1 test device. I'm pretty much using the same SendEmptyPushNotification code as the article posted below.
My test device is running iOS 14.4.1. I can manually update the Pass, so the WebServiceURL is working.
My cert expires later this year. I've rebooted my device. This all used to work and I haven't changed anything.
NOTE: It looks like the AppleDeviceLibraryIdentifier & ApplePushToken are changing over time. Should these change or remain the same over the life of the Apple device the passes are installed on? I'm wondering if the new PushToken could be the issue. This seems to be the expected behavior. Does the Device Library Identifier change with the Push Token?
Does anyone know what might be wrong? Is anyone else having an issue?
Me too man. Let's figure this out together like Apex Legends.
I have submitted a TSI to Apple. They sent out an email on feb 10 saying:
On March 29, 2021, token and certificate-based HTTP/2 connections to the Apple Push Notification service must incorporate the new root certificate (AAACertificateServices 5/12/2020) which replaces the old GeoTrust Global CA root certificate. To ensure a seamless transition and to avoid push notification delivery failures, verify that both the old and new root certificates for the HTTP/2 interface are included in the Trust Store of each of your notification servers before March 29.
Note that Apple Push Notification service SSL provider certificates issued to you by Apple do not need be to updated at this time.
Learn more about connecting to APNs.
If you have any questions, contact us.
Best regards, Apple Developer Relations
Update - Mon May 3, after submitting a TSI to Apple Dev
Push notifications stopped working for developers on March 31, 2021 after Apple migrated to a new APNS provider API (http/2 protocol).
To continue using push, see this page: https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns/
On that page, these 3 items are of special interest to me:
Registering Your App with APNs
Establishing a Token-Based Connection to APNs
Generating a Remote Notification
What I learned?
Revoke all developer account certificates related to APNS Make new certs and this time don't make any PEM files when installing them to your providing server. Also, make sure to stop using port
2195
when making a connection to APNS and use443
or2197
.The great news? The new APNS provider API is still compatible with Objective C!
Update: I was wrong about the PEM aspect. Creating a PEM file is still necessary for APNs connections using the new APNs Provider API.