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.