У меня простой вопрос. Как узнать уровень заряда батареи iPhone?
[UIDevice currentDevice] batteryLevel]
Достаточно просто? Однако есть небольшая загвоздка: я не могу использовать UIKit. Вот что я написал до сих пор, но я не думаю, что это работает:
// notification port
IONotificationPortRef nport = IONotificationPortCreate(kIOMasterPortDefault);
CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(nport), kCFRunLoopDefaultMode);
CFMutableDictionaryRef matching = IOServiceMatching("IOPMPowerSource");
kern_return_t kr = IOServiceAddMatchingNotification(nport, kIOFirstMatchNotification, matching, (IOServiceMatchingCallback)power, self, &powerIterator);
NSLog(@"Kernel said %d",kr);
power((void*)nport,powerIterator);
Я все еще уверен, что вам придется полагаться на IOKit, чтобы получить уровень заряда батареи. Мое приложение не использует UIKit, так как это низкоуровневое приложение, в котором нельзя использовать UIKit. Вот фреймворки, которые я использую:
замещающий текст http://img837.imageshack.us/img837/1829/screenshot20100718at211.png< /а>