In my project push notifications correctly worked on iOS 9 and did't work on iOS 10. There is notification model in my project that allows to enable/disable push notifications from initial help screen and settings screen. And state of this model was based on UIUserNotificationSettings that can be received from the system (registerUserNotificationSettings: and currentUserNotificationSettings).
States:
1. UNDEFINED - currentUserNotificationSettings is equal to nil or categories count is equal to 0
2. APLIED - currentUserNotificationSettings are equal to those that were requested by registerUserNotificationSettings:
3. DENIED - currentUserNotificationSettings are not equal...
As I said, on iOS 9 this model works well but in iOS 10 it's state never becomes UNDEFINED because categories count of currentUserNotificationSettings is not equal to zero even if app was reinstalled.
So model's state becomes DENIED on start of the application and it doesn't call registerUserNotificationSettings: at all (it assumes that user has denied push notifications).