Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过编程获得mac os x macbooks的电池寿命?_C_Objective C_Macos_Acpi - Fatal编程技术网

如何通过编程获得mac os x macbooks的电池寿命?

如何通过编程获得mac os x macbooks的电池寿命?,c,objective-c,macos,acpi,C,Objective C,Macos,Acpi,我想做的是记录电池的百分比。我知道linux中的等价物是sysctl(hw.acpi.battery.life)。然而,当我在MacOSX中查看sysctl的人时,我没有找到找到它的等效代码。有人能指出如何使用objective c实现这一点吗。我可以调用sysctlbyname,但它的结构中没有这个作为输入。请帮助我尝试使用这些功能。您可以使用获取blob,然后从中提取CFArray,列出电源。最后,您可以使用抓取字典 如果可以使用命令行,则可以使用命令 像这样: $ pmset -g 您也

我想做的是记录电池的百分比。我知道linux中的等价物是sysctl(hw.acpi.battery.life)。然而,当我在MacOSX中查看sysctl的人时,我没有找到找到它的等效代码。有人能指出如何使用objective c实现这一点吗。我可以调用sysctlbyname,但它的结构中没有这个作为输入。请帮助我

尝试使用这些功能。您可以使用获取blob,然后从中提取CFArray,列出电源。最后,您可以使用抓取字典

如果可以使用命令行,则可以使用命令

像这样:

$ pmset -g

您也可以在命令行上使用ioreg。例如:

ioreg -l -w0 |grep CurrentCapacity 
提供当前电池状态,可与最大容量进行比较:

ioreg -l -w0 |grep MaxCapacity

获取有关电池状态的更多信息的另一种方法是使用NSTask以SPPowerDataType作为参数执行system_profiler命令。在我的Mac电脑上,它会给我以下结果:

电池信息:

  Model Information:
      Serial Number: W01396THJD3LA
      Manufacturer: SMP
      Device Name: bq20z451
      Pack Lot Code: 0
      PCB Lot Code: 0
      Firmware Version: 201
      Hardware Revision: 000a
      Cell Revision: 165
  Charge Information:
      Charge Remaining (mAh): 5013
      Fully Charged: Yes
      Charging: No
      Full Charge Capacity (mAh): 5086
  Health Information:
      Cycle Count: 72
      Condition: Normal
  Battery Installed: Yes
  Amperage (mA): -300
  Voltage (mV): 12303
要检索特定的内容,可以解析相应的行,或者使用以下命令生成plist:

$system\u profiler SPPowerDataType-xml>BatteryInfo.plist


这将使基于特定键检索值变得更容易。

也许可以尝试添加“objective-c”标记。很遗憾,我还没有要编辑的代表。更具体地说,
pmset-g batt
show's the battery percentage and status可能是重复的。@Dominic你文章中的大多数链接都没有了。