If you’ve ever wanted to run iOS apps on an Android device, six PhD students at Columbia University may be able to help. They’ve created a piece of software called Cider which allows Android-powered devices to run both domestic and foreign binaries – meaning both Android and iOS applications – on a single handset or tablet. To do this, Cider copies the libraries and frameworks it needs to convince an iOS app’s code that it is running on Apple’s XNU kernel instead of Android’s Linux kernel.
SourceSix PhD students at Columbia University‘s Department of Computer Science have developed Cider, an OS compatibility architecture capable of running iOS apps on Android. Rather than using a strict virtual machine, they achieved the feat by running domestic and foreign binaries on the same device. They leverage binary compatibility techniques such as compile-time code adaptation and diplomatic functions. This means Cider can copy the libraries and frameworks it needs and convince an app’s code that it is running on Apple’s XNU kernel rather than Android’s Linux kernel. The performance is less than stellar, but this is to be expected given the extra cost of diplomatic function calls and a currently incomplete OpenGL ES implementation. Nevertheless, using an OS compatibility layer for native execution of iOS apps on Android is an impressive feat.