We’ve gotten iPhoneInterface to compile and run in the Hackszine.com lab (er, my living room). Kudos to the #iphone team; this is pretty cool.
In its current form, it doesn’t look like it will compile on Mac OS X (Update: the latest version compiles fine on Mac OS X!). For the moment, it’s calling directly into the iTunesMobileDevice DLL that you’ll only find on a Windows PC. If you take a look at the #defines in the source code, you’ll see that a lot of the action is currently happening in WIN32 regions. But that’s likely to be only temporary; this is just a guess on my part, but I imagine that they are looking to completely eliminate iTunesMobileDevice.dll, once they figure out what messages it’s sending to the iPhone.
So what can iPhoneInterface do? Essentially, it can do anything to your iPhone that iTunes can do to it: activate it, deactivate it, manipulate files that are in the flash memory (not in the OS install image, though) such as photos, music, etc. You can also start services, but you can’t install and execute arbitrary binaries yet.
This is a wonderful achievement, and a beautiful hack. If you’ve got the time and motivation, you can download the source code, compile, and run it. But it’s not trivial to do this; you’ll need a few things:
- A Windows PC
- Dev-C++ – Link
- iTunes 7.3 installed
- The QuickTime 7.1 SDK from Apple (you’ll need an ADC membership for this; hopefully the free ADC membership includes it)
- The iTunesMobileDevice.dll from C:Program FilesCommon FilesAppleMobile Device Supportin
- And of course, the source code to iPhoneInterface
I’m not linking directly to the source code because the #iphone crew has asked journalists, bloggers, diggers, etc. to not post direct links to the website. Anyone who’s been following the project close knows that the site has been up and down because high-traffic sites keep linking to it. So I leave you with the IRC channel info: #iphone @ irc.osx86.hu. Make your way there with your favorite IRC client and check the motd (message of the day). If the web site is up, there will be a link to it. If not, read the messages that go by, and you’ll find an update with more information soon.