Ответ 1
Вы можете захватить CycleCount
и кучу другой информации, используя дамп ioreg
(IORegistry) устройства. Например, см. здесь для дампа IORegistry для iPhone 5S. Обратите внимание на этот раздел:
+-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.framework
на iOS имеет API для доступа ко всей этой информации (вы можете посмотреть дамп, чтобы выяснить имена свойств и т.д., чтобы иметь возможность обращаться к нему программно). У Erica Sadun есть открытый исходный код, который использует частные функции IOKit для доступа к некоторым сведениям об оборудовании устройства (без джейлбрейка, IIRC), поэтому, возможно, это будет полезно.
Что касается захвата этой информации с Mac, не знаю. Если у вас есть приложение на устройстве, которое может вытащить информацию из IORegistry и отправить ее на Mac через USB, который будет работать. Если вы хотите сделать это без установки какого-либо дополнительного программного обеспечения на устройстве, вам придется выяснить способ удаленного получения дампа ioreg
.
Надеюсь, что это тебя доставит!