IOS电池容量信息

IOS电池容量信息,ios,xcode,battery,iokit,capacity,Ios,Xcode,Battery,Iokit,Capacity,今天在Appstore上可以找到的所有IOS电池应用程序都有相同的问题。它们都显示了错误的“最大容量” (电池目前可容纳的最大容量) (不是制造时电池可以保持的原始容量) 问题是最大容量非常“不敏感”。 它每100mAh更新一次 例如,如果容量为1767mAh,则MAC容量将显示1700mAh,并将持续显示,直到超过1699mAh,然后将切换到1600mAh OSX有一个名为CoconutBattery的应用程序。 此程序可以显示正确的容量 有谁知道CoconutBattery是用什么来获取这些

今天在Appstore上可以找到的所有IOS电池应用程序都有相同的问题。它们都显示了错误的“最大容量” (电池目前可容纳的最大容量) (不是制造时电池可以保持的原始容量)

问题是最大容量非常“不敏感”。 它每100mAh更新一次

例如,如果容量为1767mAh,则MAC容量将显示1700mAh,并将持续显示,直到超过1699mAh,然后将切换到1600mAh

OSX有一个名为CoconutBattery的应用程序。 此程序可以显示正确的容量

有谁知道CoconutBattery是用什么来获取这些详细信息的

我尝试过EEIOKitListener项目(我相信它使用了IOKit) 本例还显示了与Appstore上的应用程序相同的行为


我需要一个IOS应用程序,可以显示正确的最大容量信息。

您可以使用

例如:

BatteryData =     {
        BatterySerialNumber = REDACTED;
        ChemID = 355;
        CycleCount = 524;
        DesignCapacity = 1420;
        Flags = 640;
        FullAvailableCapacity = 1325;
        ManufactureDate = REDACTED;
        MaxCapacity = 1273;
        MfgData = REDACTED;
        QmaxCell0 = 1350;
        StateOfCharge = 100;
        Voltage = 4194;
    };

iOS 10的数据可能非常有限。

这是仅显示电池百分比级别

在Objective-c中

UIDevice *Device = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
double batteryLvl = (float)[myDevice batteryLevel];
NSLog(@"batteryLvl : %f",batteryLvl);
Swift 3+:

let Device = UIDevice.current
Device.isBatteryMonitoringEnabled = true
let batteryLvl: Double = Double(Device.batteryLevel)
print("batteryLvl : \(batteryLvl)")
输出:-


batteryLvl:0.650000

对于stackoverflow来说,请求应用程序是不合适的。stackoverflow用于编程问题。使用UIDeviceListener(IOS 10)时未获得任何有用信息。