Though I\'ve done some development in Java and and a little in C(++), I\'m totally new to Apple\'s Objective C and XCode.
Thus, I\'m totally stumped by the following
Have you added IOKit as a linked framework? In XCode, expand Targets, then your target (BatteryApp I would guess), then Link Binary With Libraries. If you don't see IOKit, you'll want to add it.
Up at the top of the tree, look for the Frameworks directory. Right-click, Add, Existing Frameworks. Browse to /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/(appropriate SDK)/System/Library/Frameworks/IOKit.framework, and click OK.
Even though you added the simulator version of the framework, it is my belief that XCode will automatically switch the library search path as you switch between the Simulator and Device targets, so I think it's OK.
I believe you're correct in thinking that the IOKit framework isn't linked correctly. Here's how you can make sure:
If you've already added the IOKit framework to your project, then you just need to verify that it's part of the "Link Binary with Libraries" phase of the appropriate target. (Targets group > expand your target > Link Binary with Libraries). If it's not there but it's in your project, then you can either follow the steps above or simply drag and drop the framework from wherever it is in your groups and files tree.
I'm no expert in Xcode/cocoa-touch myself, but according to this link it looks like the IOKit framework isn't available for the general public.
In the official docs, I found a quote that described IOKit as such: "Contains interfaces used by the device. Do not include this framework directly." So in the end, my desire to access that IOKit information was thwarted. For whatever reason, Apple has chosen to list it as a public framework but the reality is that it is not.