Only some events are handled in background (I assume that is what you mean by closed state)
https://developer.apple.com/documentation/uikit/app_and_scenes/preparing_your_ui_to_run_in_the_background
Apps don’t normally receive any extra execution time after they enter the background. However, UIKit does grant execution time to apps that support any of the following time-sensitive capabilities:
- Audio communication using AirPlay, or Picture in Picture video.
- Location-sensitive services for users.
- Voice over IP.
- Communication with an external accessory.
- Communication with Bluetooth LE accessories, or conversion of the device into a Bluetooth LE accessory.
- Regular updates from a server.
- Support for Apple Push Notification service (APNs).
Enable the Background Modes capability in Xcode if your app supports background features. Each background task has different requirements; see the appropriate framework for details about how to implement the feature. For information about how to schedule opportunistic background tasks, see BackgroundTasks.
This tutorial could help you implement:
ttps://www.raywenderlich.com/5817-background-modes-tutorial-getting-started