I'm trying to develop an app with flutter that uses the background_fetch package https://pub.dev/packages/background_fetch to connect within a specific time period to a BLE device and receives some status data. On Android, everything works fine and the background fetch is fired reliably every x minutes.
On iOS it also works as long as I simulate a background fetch manually through Xcode. However, when I run my app on an iPhone, the background fetch is never fired. For me, it's pretty hard to understand if I have an error in my code or if iOS really never fires a background fetch. If the os never fires a background fetch, how am I able to trigger one?
What I understood from other posts is that as long as the background fetch works in the simulator, everything is programmed correctly.
Can somehow explain to me in an easy way how the background fetch mechanism works on iOS?
thank you and best regards.