Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOKIt battery data issue #1

Open
PratikKankriya opened this issue Sep 7, 2018 · 0 comments
Open

iOKIt battery data issue #1

PratikKankriya opened this issue Sep 7, 2018 · 0 comments

Comments

@PratikKankriya
Copy link

We are using iOKit framework for fetching battery info for finding battery wear but on iOS 12 beta we are not able to fetch current capacity & voltage please tell us any alternative framework or how to resolve this issue

Following is the code use :
NSMutableString *allInfo = [NSMutableString new];

CFTypeRef blob = IOPSCopyPowerSourcesInfo();
CFArrayRef sources = IOPSCopyPowerSourcesList(blob);
if (CFArrayGetCount(sources) == 0)
return; // Could not retrieve battery information. System may not have a battery.

NSDictionary limitedBatteryInfo = ((NSDictionary)((NSArray*)CFBridgingRelease(blob))[0]);

[allInfo appendString:@"IOPSCopyPowerSourcesInfo Data\n\n"];

for (NSString* dictKey in [limitedBatteryInfo allKeys]) {
[allInfo appendString:[NSString stringWithFormat:@"%@ : %@",dictKey,[limitedBatteryInfo valueForKey:dictKey]]];
[allInfo appendString:@"\n"];
}

io_service_t powerSource = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPMPowerSource"));

CFMutableDictionaryRef batteryProperties = NULL;

IORegistryEntryCreateCFProperties(powerSource, &batteryProperties, NULL, 0);

NSDictionary *extensiveBatteryInfo = (__bridge_transfer NSDictionary *)batteryProperties;

[allInfo appendString:@"\n\n\nIOPMPowerSource Data\n\n"];

for (NSString* dictKey in [extensiveBatteryInfo allKeys]) {
[allInfo appendString:[NSString stringWithFormat:@"%@ : %@",dictKey,[extensiveBatteryInfo valueForKey:dictKey]]];
[allInfo appendString:@"\n"];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant