captain_rillette captain_rillette - 1 year ago 99
Swift Question

Check battery level in background?

Is it possible to check battery level in swift while our application is in background?

Currently I am working on one iOS application in which user will be alerted with system notification when battery reached to 30%.

I tried and I received notification randomly, sometimes 4%, sometimes 10%, mover than ever 30%.

func applicationDidEnterBackground(application: UIApplication) {
if(UIDevice.currentDevice().batteryLevel <= 0.30 && UIDevice.currentDevice().batteryState != UIDeviceBatteryState.Charging)
Notification.addNotificationSystem("Mettre le portable à charger", fireDate: 1, iconBadgeNumber: false)

Answer Source

Your code executes the battery test only one time, when the app is going in the background.
If you want to check the battery status while in the background, your app will need to be able to execute actual code there. Which means that you will need to enable one of the Background Modes capabilities (note that Apple will reject your app if you declare to need such an ability without any feature using it).

In any case: If your app gets suspended by iOS, you won't be able to check anything.

enter image description here

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download