Gmail & Facebook Messenger-like notifications.
The idea is, instead of pushing a remote notification and having iOS displayed it to user, UILocalNotification-RemotePayload push a silent notification which will invoke The app in the background, then the background code constructs a local notification from the payload and display it to user. Since we hold the local notification instance, we can remove it from the screen whenever we want. The technique only works when Background App Refresh is enabled on user's device and your app have registered background execution. However, if your app is a VoIP app using PushKit, the technique works even when Background App Refresh is disabled.