I have an android/iOS app (iOS>9.0 swift & Objective-C) that works almost all the time in background. It has the background modes active for Audio, Location and Uses Bluetooth LE accesories. Is a self-security app, and when it runs in background it detects the presence of registered UUID Bluetooth LE devices, and if the user specifically turns off the bluetooth of the iPhone, or changes the location permissions (General or my app) it is warned with a UNNotification that the app won't work if that service is off. (I detect that with CLLocationManager.locationServicesEnabled() and the method didChangeAuthorization for the CLLocationManagerDelegate)
The question is: is there a mechanism for checking the same when the app is killed or not running in background?
I've been searching a lot about background modes, silent notifications, to perform some code when the notification arrives, but that won't work, because, as far as I know, the notification needs user interaction for doing other things apart from playing sound or show a message.
I've read as well a lot of docs from apple and I have found nothing. Does somebody knows if it is possible to do that kind of checking? (without jailbreaking the phone, of course)
Edited: is not the same as How do you constantly run in background? because my app must run in background or killed. It must be checking for a certain region all the time.