簡體   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