Это ожидаемое поведение, чтобы не запускать приложение. Я имею в виду, почему это должно? Пользователь почему-то решил убить приложение. Они больше не хотят, чтобы к нему привыкли батарея или пропускная способность!
Из документации .
Используйте этот метод для обработки входящих удаленных уведомлений для вашего приложения.
В отличие от приложения (_: didReceiveRemoteNotification :) метод, который
вызывается только когда ваше приложение работает на переднем плане, система
вызывает этот метод, когда ваше приложение работает на переднем плане или
фон. Кроме того, если вы включили удаленные уведомления
В фоновом режиме система запускает ваше приложение (или выводит его из приостановленного состояния) и переводит его в фоновое состояние при получении удаленного уведомления. Однако система не запускает ваше приложение автоматически , если пользователь принудительно завершил его. В этой ситуации пользователь должен перезапустить ваше приложение или перезапустить устройство, прежде чем система попытается снова автоматически запустить ваше приложение
Для не тихих уведомлений. Они будут доставлены на устройство. Но не в приложение.
Если вы принудительно запустите приложение WhatsApp на своем iPhone, и ваша мать отправит вам сообщение, тогда ваш iPhone отобразит его в списке уведомлений. Однако это не вызовет ни один из ваших методов AppDelegate. Методы AppDelegate запускаются только в том случае, если приложение не закрыто пользователем.