iosobjective-ciphoneapp-storebattery

Getting Battery Health Information on iOS


There are currently apps in the app-store (so it does not require jailbreak) that tell you :

  1. Exact percentage value of battery level you have on your iPhone. I have tried Apple's official Code Sample, although it tells you when your iPhone is charging and discharging but it gives me values in 5% steps. How do these apps get exact values of battery percentage?

  2. Applications like Battery Health show

    • Current Maximum Capacity vs Manufacturer's Capacity
    • Current Discharge Rate
    • Lifetime Battery Cycle Count
  3. The same application also gives information about the Charging Rate in Watts when the phone is charging (check images) and current Charger's Power Rating.

Application: Battery Health screenshot 1 Application: Battery Health screenshot 2


How do these applications get so much detail about battery health when [UIDevice] provides so little information about it and almost no information on battery health and performance.


Solution

  • It is likely that such apps use IOKit framework, which is public on OS X but private on iOS (it's not allowed by Apple to use private frameworks for App Store apps, although sometimes it can be overlooked during the review).

    You can see a sample project here.