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

 mobiledu2502926703 发布于 2023-02-10 14:02

我使用MobileDevice.framework中的OS X应用程序,我已经能够得到怎样的充电的电池iOS连接的设备上USB使用AMDeviceCopyValue(device, domain, key)的论据功能"com.apple.mobile.battery"domain"BatteryCurrentCapacity"key.

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

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

1 个回答
  • 您可以CycleCount使用设备的ioreg(IORegistry)转储来获取一堆其他信息.例如,请参阅此处了解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
    

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

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

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

    2023-02-10 14:05 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有