Background mode is a powerful tool to keep an idle application running. In practice, we're faced with the fact that it's necessary to execute or continue the execution of some application functionality in the background, while the user switches his attention to others. This can be not only receiving notifications but also maintaining communication with external devices, sending network requests, updating location information, or some kind of synchronization in the background.
However, keeping multiple applications running at the same time is energy-intensive. Apple, to extend the operation of the device, introduces more and more conditions and restrictions which often require a complete rethinking of the current functionality. And the native solutions have many nuances and hidden pitfalls.
The developer is required to ensure the correct execution of the functionality of the inactive application, not to conflict with the concept of energy saving in iOS, and to keep within the 30 seconds. This requires an advanced approach to solving the problem.
In this talk, Anna wants to highlight the main complex cases of working with Background Modes. Ans show how without forbidden tricks, using nuances and native solutions, to bypass iOS restrictions.
We will consider such situations as:
- support for periodic application operation;
- polling of sensors and device sensors in the background (including BLE and GPS);
- extension of work in the background and synchronization according to your own rules.
We will also see if the new solutions offered in iOS 13 and iOS 14 will help in achieving these goals in these situations.