2017-05-24 4 views
1

Toutes les applications de batterie IOS que vous pouvez trouver sur l'Appstore aujourd'hui présentent le même problème. Ils affichent tous le mauvais "MaxCapacity" (la capacité maximale que la batterie peut contenir aujourd'hui) (pas la capacité d'origine que la batterie peut contenir lors de sa fabrication).Informations sur la capacité de la batterie IOS

Le problème est que la MaxCapacity est très "insensible". Il met à jour tous les 100mAh. Par exemple, si la capacité est de 1767 mAh, la MacCapacity affichera 1700 mAh et continuera à montrer que jusqu'à 1699 mAh, elle passera à 1600 mAh.

Il existe une application pour OSX nommée CoconutBattery. Ce programme peut montrer la bonne capacité.

Quiconque connaît les appels que CoconutBattery utilise pour obtenir cette information détaillée?

J'ai essayé le projet EEIOKitListener (que je crois utiliser l'IOKit) et cet exemple montre également le même comportement que les applications sur l'Appstore.

J'ai besoin et application IOS qui peut montrer les bonnes informations MaxCapacity.

+0

demandé pour une application est offtopic pour stackoverflow. stackoverflow est un outil pour la programmation des questions. – rckoenes

Répondre

0

Vous pouvez obtenir maxcapacity en utilisant UIDeviceListener

Exemple:

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

Les données peuvent être très limitées pour iOS 10.

+0

N'a pas obtenu d'informations utiles lors de l'utilisation de UIDeviceListener (avec IOS 10). –

+1

@HenricOlsen Yep. Cela ne fonctionnera pas dans iOS 10 –

0

c'est montrer que le niveau de la batterie pour cent de.

en 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)") 

sortie: -

batteryLvl: 0,650000