The story is the ios app, that I'm working on using react native, needs to keep running in background to receive silent notifications from the Backend then it will schedule local notifications using data from those silent notifications received.
Actually, in native code (objC), i'm using ios background modes listening for receiving remote notifications event to receive the silent notification while app in fore/background. I also tried the BGTaskRefresh (available from iOS 13+). It seems working fine if the app in fore/background. However, if the user swipes the app up in app switcher (a.k. force quit/kill the app), it stopped working.
So, please advise how to achieve the above feature. Or is there a way for the app to keep receving the silent notification and trigger didReceiveRemoteNotification method (appDelegate.m) even if it's kill or terminated by user/system?
The short answer to all your questions is No!
The long answer will depend what you are trying to accomplish with all this. There is no way to guarantee that your app will receive all silent notifications. If you need to execute some code to process every incoming notification, I suggest looking into using a notification service extension as discussed at https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension.
The Notification Service Extension will be executed for every visible push notification. So, it could serve your needs, as long as the user has not disabled the visibility of your notifications through various settings. The service extension will not be executed for push notifications that will not be presented visually.