Q: Read data from BLE in background I have a problem with reading data from BLE device in background. Every 30 seconds I must ask my device for data and save it in database. Unfortunately Timer is not working in background so I tried to use CLLocationManager and update location every 30 second and then read value from device. It is working pretty well but not always. When I leave app in the foreground and wait until it will enter background automatically after certain period of time, location manager doesn't work and I don't know why.
Is there any solution to read data every 30 seconds from device when app is in the background?

A: If possible, you can let the peripheral notify the central every 30 seconds. Then if you have implemented State preservation and restoration correctly, iOS should wake up your app so you can handle the notifications.
