2017-05-24 28 views
1

모든 IOS 배터리 현재 Appstore에서 볼 수있는 앱에는 동일한 문제가 있습니다. 그들은 모두 "MaxCapacity" (현재 배터리가 수용 할 수있는 최대 용량) (제조 당시 배터리가 보유 할 수있는 원래 용량이 아님)을 잘못 표시합니다.IOS 배터리 용량 정보

문제는 MaxCapacity가 매우 "무감각"하다는 점입니다. 매 100mAh를 업데이트합니다.

예를 들어 용량이 1767mAh 인 경우 MacCapacity는 1700mAh를 표시하고 1699mAh를 통과 할 때까지 1600mAh로 전환됩니다.

CoconutBattery라는 OSX 용 앱이 있습니다. 이 프로그램은 적절한 용량을 보여줍니다.

CoconutBattery가이 세부 정보를 얻기 위해 무엇을 사용하는지 알고있는 사람은 누구입니까?

저는 EEIOKitListener (IOKit을 사용한다고 생각합니다) 이 예제는 Appstore의 애플 리케이션과 동일한 동작을 보여줍니다.

올바른 MaxCapacity 정보를 표시 할 수있는 IOS 앱이 필요합니다.

+0

앱에 대해 요구에 유래에 대한 논외입니다. stackoverflow 프로그래밍 질문에 대한 멘토입니다. – rckoenes

답변

0

당신은 UIDeviceListener

예를 사용하여 MAXCAPACITY를 얻을 수 있습니다 :

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; 
    }; 

데이터가 매우 이것은 단지 배터리 %의 수준을 보여주는 것입니다 아이폰 OS (10)

+0

UIDeviceListener (IOS 10 사용)를 사용할 때 유용한 정보를 얻지 못했습니다. –

+1

@HenricOlsen 네. iOS 10에서는 작동하지 않습니다. –

0

을 위해 제한 될 수 있습니다.

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

출력 : 목표 - C

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

스위프트 3+에서

-

batteryLvl : 0.650000