Você pode encontrar essas informações junto com muitas outras informações da bateria e / ou do sistema no comando
ioreg
Este comando, de acordo com sua página de manual, faz:
O ioreg exibe o registro do Kit de E / S. Ele mostra a estrutura de registro hierárquica 1 como uma árvore invertida.
1 : hierárquico [sic]
Usando um filtro pelo nome da classe ( AppleSmartBattery
para bateria) para obter apenas informações relacionadas à bateria:
$ ioreg -brc AppleSmartBattery
-b Show the object name in bold.
-r Show subtrees rooted by objects that match the specified criteria.
If none of -c, -k, or -n are supplied, -r has no effect.
-c Show the object properties only if the object is an instance of, or
derives from, the specified C++ class (e.g. IOService).
De man ioreg
.
Irá imprimir algo como isto:
$ ioreg -brc AppleSmartBattery
+-o AppleSmartBattery <class AppleSmartBattery, id 0x100000254, registered, ma$
{
"ExternalConnected" = Yes
"TimeRemaining" = 0
"InstantTimeToEmpty" = 65535
"ExternalChargeCapable" = Yes
"FullPathUpdated" = 1464849055
"CellVoltage" = (4298,4292,4299,0)
"Voltage" = 12889
"BatteryInvalidWakeSeconds" = 30
"AdapterInfo" = 0
"MaxCapacity" = 5524
"PermanentFailureStatus" = 0
"Manufacturer" = "SMP"
"Location" = 0
"CurrentCapacity" = 5524
"LegacyBatteryInfo" = {"Amperage"=0,"Flags"=5,"Capacity"=5524,"Current"=5$
"FirmwareSerialNumber" = 1
"BatteryInstalled" = Yes
"PackReserve" = 200
"CycleCount" = 318
"DesignCapacity" = 6330
"OperationStatus" = 58371
"ManufactureDate" = 17726
"AvgTimeToFull" = 65535
"BatterySerialNumber" = "D864403T3UVFVN7A6"
"BootPathUpdated" = 1464353527
"PostDischargeWaitSeconds" = 120
"Temperature" = 3096
"UserVisiblePathUpdated" = 1464849490
"InstantAmperage" = 0
"ManufacturerData" = <000000000702000a03890000034a34340330304103534449032$
"MaxErr" = 1
"FullyCharged" = Yes
"DeviceName" = "bq20z451"
"IOGeneralInterest" = "IOCommand is not serializable"
"Amperage" = 0
"IsCharging" = No
"DesignCycleCount9C" = 1000
"PostChargeWaitSeconds" = 120
"AvgTimeToEmpty" = 65535
}
O campo que você está procurando é DesignCapacity
. Por conveniência, filtre-o com grep
(unidade é miliamperes-hora ou mAh):
$ ioreg -brc AppleSmartBattery | grep DesignCapacity
"DesignCapacity" = 6330
Seu DesignCapacity
campo pode não ser exibido 6330
como seu valor. Estou usando um rMBP de 13 "em meados de 2014, mas você pode estar usando outro sistema com diferentes classificações de bateria.
Além das informações da bateria, ioreg
pode ser usado para descobrir mais sobre o seu sistema e outros periféricos - um pouco como uma ferramenta de Informações do Sistema da linha de comando.
Se você está procurando uma implementação de código desse comando, dê uma olhada no SystemKit da Beltex no Github . É uma das melhores bibliotecas Swift que eu conheço.
Isenção de responsabilidade: não afiliado ao SystemKit ou Beltex. Apenas um usuário feliz do SystemKit.