I was testing push notifications with custom categories recently and noticed that they had stopped coming through. After checking out the code that registers these categories I saw that in one case a UIMutableUserNotificationCategory was being created correctly, while one of it’s corresponding UIMutableUserNotificationAction objects was instead being passed to the notification settings. This is invalid, and apparently gets cached in between runs of the app (even though you’re reacreating the categories at runtime).

The trick, which I stumbled on after a few minutes of head scratching, is that you must delete and reinstall the app in order for things to start working again. But why should I be surprised? Programming for push notifications is crazy.