Fix Your Notifications on iOS 10.3
TL;DR — Jump to the code sample section :)
Ever since iOS version 10.2, I’ve been getting unusual behaviors from my push notifications. In some cases, the notification actions tied to some categories stopped showing on push and local notifications. Being the lazy developer that I am, I marked it as an iOS bug and went on with my day.
Once iOS 10.3 became available, I immediately updated my iPhone 6+ with it. Working on one of our apps at Neura, I noticed notification actions were not working anymore. I had to dive in and understand what went wrong!
If it ain’t broken, don’t try to fix it.
Developers love that phrase. But don’t get confused, deprecated APIs can become obsolete without warning. You should always pay attention to what’s happening with the API you are using. And with the adoption rate of new iOS versions, for me to keep using an API that was deprecated two versions ago (iOS 8.0) was irresponsible to say the least. To get my push notifications working, I had to replace the deprecated APIs.
Here’s How I Replaced the Old APIs
1. Use the new
UNNotificationCategory instead of the old
2. Update your registration to notifications
3. Present the relevant notification
In (3) you’ll notice the different triggers in the new
UNNotificationRequest. I implemented the two relevant to my code,
UNCalendarNotificationTrigger. Notice that timezone for the relevant device is set in the dateComponents and not in the notification itself as it used to be with
The latest code is already merged to the master branch in GitHub.
Follow Neura’s new publication Contextual Wisdom to stay updated on the latest in AI, mobile apps, and IoT.