Our App was working fine with Push Tokens for many years, and we we're using the old Parse application Server. This Server went down in Jan 2017 so we brought up our own Parse Server to send the Push Tokens to Apples APNS Service. Now we are seeing clients who's Push Token has seemingly expired, thus when we forward this Token to Apples APNS service using a python script or use Parse to do so, the return from Apples APNS Service says the Token is expired, as such no Push Notifications are sent out.
When the App starts up, it calls registerUserNotificationSettings, and sets it to receive Alerts, Badge, and Sounds, and then sets this data using UIUserNotificationSettings. Then [application registerForRemoteNotifications] is called, and this forces didRegisterForRemoteNotificationsWithDeviceToken where the new Token is then sent down from Apples APNS Service. This Token is then sent up to our Server all the time, and the Server stores this value when it has to generate a Push Notification via Parse. What we see after a few days, is the Token which Apple sent us all of the sudden get's expired, and no longer works. The only way the User can then re-enable Push Notifications is to delete the App and relogin. Once the client stops receiving Push Notifications, the App still registers for them, and calls registerForRemoteNotifications, and Apple APNS Push Notification service sends us down the same Token which is basically expired.
My question are;
1) Is anyone else seeing this?
2) This seemed to start happening quite frequently with iOS10.2.1.
3) Is there anyway for the client to force APNS to generate a new token? I'm pretty sure the answer here is no, but just thought I'd ask it anyway.