Developer hacks BlackBerry PlayBook to run iOS apps

A developer posting as ‘businesscat2000′ in the CrackBerry Forums has craftily come up with a hack, allowing him to run iOS apps on his PlayBook.

He explained his method as follows:

The CPU isn’t emulated on Playbook (though it is on Windows). It works very similarly to how WINE works to run Windows applications on Linux. The app binary is mapped into memory and imports are resolved to point to my own implementation of the various APIs needed. iOS actually uses a few open APIs already, which Playbook supports just as well (GL ES, and OpenAL). The bulk of the work has been in implementing all of the objective C classes that are required. The ARM code of the applications run as-is – the armv6/v7 support on PB/iDevices are pretty much identical, and the code is designed to run in USR mode. No SWIs, GPIO accesses or any of that kind of shenanigans.

Doubting the validity of the project, CrackBerry sent ‘businesscat2000′ a couple of tests which the developer successfully executed, confirming that the feat was legitimate and not simply an illusion.

There is admittedly more work to be done in improving the implementation; for instance, the hack supports APIs under v4 and builds for universal binary or ARMv6, but not programs requiring UIWebView and CoreData. In other words, few non-gaming iOS apps can successfully run on the PlayBook so far.

Though it’s still early on, the implications of this project are potentially enormous. If the BlackBerry 10 platform – the forthcoming version of RIM’s mobile operating system, based on QNX – includes supports for iOS apps, it could prove to be a game-changer for the floundering company.

Even the PlayBook’s ability to run Android apps didn’t make things much better – Android has only a fraction of the apps iOS does and, moreover, the fact that they don’t run natively signalled performance issues.

After announcing its plans to discontinue the 16GB PlayBook, RIM said it “remain[s] committed to the tablet space.”