We have recently implemented push notification feature into our app. We spotted one major different between OS with (iOS 12 and below) and (iOS 13 and above), in receiving Silent Notification while App was manually killed (Swipe the app away from App Switcher) by the user.
On iOS 13 and above silent notification is able to awake the app by triggering the delegate method below
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
However this behave differently for iOS 12 and below. None of the delegate methods are getting trigger.
Extra Info: We are testing on physical devices, iPhone and iPad
Below is the payload we received by delegate method didReceiveRemoteNotification, iOS 13.
{
aps = {
alert = {
body = "Body Message";
title = "Title";
};
"content-available" = 1;
sound = default;
};
...restOfOurData
}
3. Some logs we retrieve from device console while receiving the notification while app is killed, iOS 13.
Received incoming message on topic (our bundleID, masked) at priority 10
[(our bundleID, masked)] Received remote notification request F81D-FA2C [ waking: 0, hasAlertContent: 1, hasSound: 1 hasBadge: 0 hasContentAvailable: 1 hasMutableContent: 0 pushType: Alert]
Is there any significant different changes made between iOS 13 and iOS 12? Kindly enlighten please. We were surprised with the behaviour of iOS 13 as compared to what is stated here in the documentation. - https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623013-application#discussion
However, the system does not automatically launch your app if the user has force-quit it.