繁体   English   中英

如何从连接的iOS设备获取电池充电周期?

[英]How Do I get Battery Charge Cycles from a connected iOS device?

我在OS X应用程序中使用MobileDevice.framework ,我已经能够通过USB连接的iOS设备的电池使用AMDeviceCopyValue(device, domain, key)函数和参数"com.apple.mobile.battery"用于domain"BatteryCurrentCapacity"用于key

我还想获得电池充电周期数。 我相信这是可能的,因为iBackupBot能够获取该数据。 有谁知道这是怎么回事? 我下载了该程序的免费副本,并在iPhone 3GSiPhone 4SiPhone 5 它能够获取所有三个设备的数据。

我已通过LLDB运行iBackupBot并记录其AMDeviceCopyValue()每次使用情况。 在这样做的过程中,我确定它没有从中获得Charge Cycles计数。

您可以使用设备的ioreg (IORegistry)转储获取CycleCount和一堆其他信息。 例如,请参阅此处了解iPhone 5S的IORegistry转储。 请注意本节:

 +-o AppleD2045PMUPowerSource  <class AppleD2045PMUPowerSource, busy 0, retain count 10>
    | |   |   |   |   {
    | |   |   |   |     "battery-data" = {
                            .....
                            "CycleCount" = 1
        | |   |   |   |     "ChargerConfiguration" = 960
        | |   |   |   |     "DesignCapacity" = 1550
        | |   |   |   |     "BatteryData" = {"BatterySerialNumber"="C0133237ALXFHCWBP","ChemID"=4484,"Flags"=256,"QmaxCell0"=1619,"Voltage"=4051,"CycleCount"=1,"StateOfCharge"=72,"DesignCapacity"=1550,"FullAvailableCapacity"=1573,"MaxCapacity"=1517,"MfgData"=<4330313333323337414c58464843574250000000000000010000010000000100>,"ManufactureDate"="1332"}
        | |   |   |   |     "AtCriticalLevel" = No

iOS上的私有IOKit.framework有一个用于访问所有这些信息的API(您可以查看转储以找出属性名称等,以便能够以编程方式访问它)。 Erica Sadun有一些开源代码 ,它使用私有IOKit函数来访问一些设备硬件信息(没有越狱,IIRC),所以这可能会有所帮助。

至于从Mac上抓取这些信息,不知道。 如果你有一个设备上的应用程序,可以从IORegistry提取信息,并通过USB将其发送到Mac上。 如果您想在没有在设备上安装任何其他软件的情况下执行此操作,则必须找到远程获取ioreg转储的方法。

希望这能让你到达某个地方!

我猜你正在谈论获得设备电池状态,启用了UIDevice对象的batteryMonitoringEnabled ,你可以获得电池的当前状态和电平,

喜欢,

UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
NSLog(@"State: %i Charge: %f", device.batteryState, device.batteryLevel);

你可以得到不同的UIDeviceBatteryState设备

  • UIDeviceBatteryStateUnplugged,
  • UIDeviceBatteryStateCharging,
  • UIDeviceBatteryStateFull,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM