您可以使用设备的 (IORegistry) 转储来获取CycleCount
和一堆其他信息。ioreg
例如,请参阅此处以获取 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 上的 privateIOKit.framework
有一个用于访问所有这些信息的 API(您可以查看转储以找出属性名称等,以便能够以编程方式访问它)。Erica Sadun 有一些开源代码,它们使用私有 IOKit 函数来访问一些设备硬件信息(无需越狱,IIRC),所以这可能会有所帮助。
至于从 Mac 上获取这些信息,不知道。如果您有一个可以从 IORegistry 中提取信息并通过 USB 将其发送到 Mac 的设备应用程序,则该应用程序可以工作。如果您想在设备上不安装任何其他软件的情况下执行此操作,则必须找到一种远程获取ioreg
转储的方法。
希望这能让你有所收获!