Battery status API in macOS?

battery, macos

Solution

You'll want to use IOKit for this, specifically the IOPowerSources functions. You can use `IOPSCopyPowerSourcesInfo()` to get a blob, and `IOPSCopyPowerSourcesList()` to then extract a CFArray out of that, listing the power sources. Then use `IOPSGetPowerSourceDescription()` to pull out a dictionary (see IOPSKeys.h for the contents of the dictionary).

Problem

How can I read the status of the battery on my MacBookPro from my own application? Googling has so far only revealed APIs for device drivers to handle power events - there's nothing about user-land processes accessing this information. thanks.

Original source