Well, it turns out that running iOS apps on the BlackBerry PlayBook has been done, so I have to take back my conclusion here; it may well be done on Android also. The PlayBook does have really good support for native apps and the C/C++ toolchain1, so that may be a factor here, but kudos to that guy for doing so much work porting the Objective-C libraries.
1I work for RIM, so feel free to take that with a grain of salt.
Unlike Android, (most) iOS apps are written in Objective C and compiled for the device; they’re not something portable like Java. In other words, running an iOS app on Android requires:
- Writing an abstraction layer to take advantage of the Android device’s hardware and emulating the rest of the iOS device’s hardware
- A fast enough processor, enough memory, etc. to do the above
- Porting all of iOS’s library and system functions usable by apps to Android
- Working around the Apple App Store’s DRM
The problems with this are many:
- It would be an incredible amount of work
- Apple hasn’t open sourced anything. How are you supposed to port their code? The hardware can be reverse engineered but that’s also quite difficult.
- I highly doubt any current Android device could support something like this, much less run the iOS apps at a usable speed.
- Working around the DRM may not be possible. I would assume it’s hardware-dependent and so the emulation costs there would be high if it was even feasible.
Sorry, this isn’t possible. iOS apps can only be run on iOS devices or under the simulator on OS X.