Post

Replies

Boosts

Views

Activity

Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
Hello, @Engineer Thank you very much for investigating this so quickly. I understand that the root cause has been identified and that a fix will be included in an upcoming iOS update. We appreciate your efforts and look forward to the fix. I also understand your explanation regarding the behavior of invalid tokens and the fact that the timing of receiving a Status 410 error is intentionally non-deterministic and will not change. To help us explain this issue to our app users, I would like to ask a few additional questions: Which iOS versions are affected by this issue? Under what specific conditions does this issue occur? In particular, we would like to better understand the situations in which an old token may still be treated as valid after the app has been uninstalled. Thank you for your assistance.
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
@Engineer Thank you for your previous response. We re-verified the behavior, and it appears that the device token that was active before the app was uninstalled is still valid. As a result, two push notifications were delivered to the same device. If you can share the apns-id of two such notifications sent and received (within the last couple of days), we can double check, but what you are describing should not be possible. As requested, I am sharing the details below. Notification sent to the latest token (obtained after reinstalling the app) Request curl -v --http2 \ --cert cert.p12: \ --cert-type P12 \ -H "apns-topic: {{bundle_id}}" \ -H "apns-push-type: alert" \ -d '{"aps":{"alert":"test1"}}' \ https://api.sandbox.push.apple.com/3/device/{{latest_token}} (timestamp: 2026-03-13T04:37:20Z) APNs response apns-id: 9963707F-7469-1CB3-231A-66B9EC9CFEB3 Xcode log when the notification was received in the foreground (real device) - - - Push Payload Start - - - Push received timestamp: 2026-03-13T04:37:24Z [AnyHashable("aps"): { alert = test1; }] - - - Push Payload End - - - Notification sent to the old token (obtained before uninstalling the app) Request curl -v --http2 \ --cert cert.p12: \ --cert-type P12 \ -H "apns-topic: {{bundle_id}}" \ -H "apns-push-type: alert" \ -d '{"aps":{"alert":"test2"}}' \ https://api.sandbox.push.apple.com/3/device/{{old_token}} (timestamp: 2026-03-13T04:37:26Z) APNs response apns-id: 113436F8-5E1D-F9A3-D919-A08BCDB59608 Xcode log when the notification was received in the foreground (real device) - - - Push Payload Start - - - Push received timestamp: 2026-03-13T04:37:28Z [AnyHashable("aps"): { alert = test2; }] - - - Push Payload End - - - Both notifications were received on the same device. Could you please help confirm whether this behavior is expected?
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
@HolgerDe Thank you for your comment. I have the same understanding as you. In our case, we observed the following behavior on iOS 26.4 Beta: The app was installed on the device before the OS was updated. The device was then updated to iOS 26.4 Beta. After the OS update, the user uninstalled the app and reinstalled it. The app obtained a new device token after reinstalling. After that, we sent push notifications using both: the device token that was obtained before the uninstall, and the new device token obtained after reinstalling the app. As a result, we observed that two push notifications were delivered to the same device.
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
Thank you for your response. I understand the following point: "To summarize this interpretation: Existence of a 410 status merely indicates that the token is no longer valid and should not be used anymore." However, in some cases it is difficult to associate a device token with a user account because the app does not provide a login feature or user accounts. In our case, the following scenario can occur: The user installs the app on a device (IDFV: A, DeviceToken: a) The user uninstalls the app The user reinstalls the app on the same device (IDFV: B, DeviceToken: b) Push notifications are sent using both DeviceToken: a and DeviceToken: b As a result, two push notifications are delivered to the same device If we cannot associate the device token with a user account, what would be the recommended way to prevent duplicate push notifications being delivered to the same device in this situation? I would appreciate your guidance.
Mar ’26
Reply to Difference in behavior between setBadgeCount and applicationIconBadgeNumber
Thank you for your response. Is my understanding correct that if the application has a badge and there are notifications in the notification center, calling application.applicationIconBadgeNumber = 0 will clear all notifications in the notification center, but if the application does not have a badge and there are notifications in the notification center, calling application.applicationIconBadgeNumber = 0 will not clear the notifications in the notification center? Also, is there a way to set the badge to 0 while keeping the notifications in the notification center if the application has a badge and there are notifications in the notification center?
Jun ’24
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
Hello, @Engineer Thank you very much for investigating this so quickly. I understand that the root cause has been identified and that a fix will be included in an upcoming iOS update. We appreciate your efforts and look forward to the fix. I also understand your explanation regarding the behavior of invalid tokens and the fact that the timing of receiving a Status 410 error is intentionally non-deterministic and will not change. To help us explain this issue to our app users, I would like to ask a few additional questions: Which iOS versions are affected by this issue? Under what specific conditions does this issue occur? In particular, we would like to better understand the situations in which an old token may still be treated as valid after the app has been uninstalled. Thank you for your assistance.
Replies
Boosts
Views
Activity
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
@Engineer Thank you for your previous response. We re-verified the behavior, and it appears that the device token that was active before the app was uninstalled is still valid. As a result, two push notifications were delivered to the same device. If you can share the apns-id of two such notifications sent and received (within the last couple of days), we can double check, but what you are describing should not be possible. As requested, I am sharing the details below. Notification sent to the latest token (obtained after reinstalling the app) Request curl -v --http2 \ --cert cert.p12: \ --cert-type P12 \ -H "apns-topic: {{bundle_id}}" \ -H "apns-push-type: alert" \ -d '{"aps":{"alert":"test1"}}' \ https://api.sandbox.push.apple.com/3/device/{{latest_token}} (timestamp: 2026-03-13T04:37:20Z) APNs response apns-id: 9963707F-7469-1CB3-231A-66B9EC9CFEB3 Xcode log when the notification was received in the foreground (real device) - - - Push Payload Start - - - Push received timestamp: 2026-03-13T04:37:24Z [AnyHashable("aps"): { alert = test1; }] - - - Push Payload End - - - Notification sent to the old token (obtained before uninstalling the app) Request curl -v --http2 \ --cert cert.p12: \ --cert-type P12 \ -H "apns-topic: {{bundle_id}}" \ -H "apns-push-type: alert" \ -d '{"aps":{"alert":"test2"}}' \ https://api.sandbox.push.apple.com/3/device/{{old_token}} (timestamp: 2026-03-13T04:37:26Z) APNs response apns-id: 113436F8-5E1D-F9A3-D919-A08BCDB59608 Xcode log when the notification was received in the foreground (real device) - - - Push Payload Start - - - Push received timestamp: 2026-03-13T04:37:28Z [AnyHashable("aps"): { alert = test2; }] - - - Push Payload End - - - Both notifications were received on the same device. Could you please help confirm whether this behavior is expected?
Replies
Boosts
Views
Activity
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
@HolgerDe Thank you for your comment. I have the same understanding as you. In our case, we observed the following behavior on iOS 26.4 Beta: The app was installed on the device before the OS was updated. The device was then updated to iOS 26.4 Beta. After the OS update, the user uninstalled the app and reinstalled it. The app obtained a new device token after reinstalling. After that, we sent push notifications using both: the device token that was obtained before the uninstall, and the new device token obtained after reinstalling the app. As a result, we observed that two push notifications were delivered to the same device.
Replies
Boosts
Views
Activity
Mar ’26
Reply to Device Token Not Invalidated After App Uninstall (iOS 26.4 Beta)
Thank you for your response. I understand the following point: "To summarize this interpretation: Existence of a 410 status merely indicates that the token is no longer valid and should not be used anymore." However, in some cases it is difficult to associate a device token with a user account because the app does not provide a login feature or user accounts. In our case, the following scenario can occur: The user installs the app on a device (IDFV: A, DeviceToken: a) The user uninstalls the app The user reinstalls the app on the same device (IDFV: B, DeviceToken: b) Push notifications are sent using both DeviceToken: a and DeviceToken: b As a result, two push notifications are delivered to the same device If we cannot associate the device token with a user account, what would be the recommended way to prevent duplicate push notifications being delivered to the same device in this situation? I would appreciate your guidance.
Replies
Boosts
Views
Activity
Mar ’26
Reply to Difference in behavior between setBadgeCount and applicationIconBadgeNumber
Thank you for your response. Is my understanding correct that if the application has a badge and there are notifications in the notification center, calling application.applicationIconBadgeNumber = 0 will clear all notifications in the notification center, but if the application does not have a badge and there are notifications in the notification center, calling application.applicationIconBadgeNumber = 0 will not clear the notifications in the notification center? Also, is there a way to set the badge to 0 while keeping the notifications in the notification center if the application has a badge and there are notifications in the notification center?
Replies
Boosts
Views
Activity
Jun ’24