Running iOS/iPad apps on Mac OS X

Screenshot of Elesion iOS App running on Mac OS X

The expression there is an app for that has become cliché, yet there are many devices these days that can only be controlled by a mobile phone app. If you wanted the same functionality, you often were left in the cold. There were news that Apple was working on a framework to allow developers to port iOS/iPad applications to regular Mac OS X, but this is the kind of frameworks that every company works on at some point and they usually die out later, so I did not hold my breath.

App Store ScreenshotYesterday, I was looking for a way to use the baby monitor from my laptop, when I realised that you can install your iOS applications on the Mac OS X, and it works. Basically, you switch to display iOS apps, and for the ones you bought on your phone, there is a warning message in the App Store: Designed for iOS, not verified for macOS. You can still click on the download button (cloud thingy) and the app installs.

Tiny Wings ScreenshotThe app runs in a single, fixed-size window. Navigation panes, which on iOS appear to be different screens are display as a modal window on top of the main window. The app runs as a single process inside the OS sandbox, and permissions (bluetooth, location, etc) are controlled by the OS. Mouse clicks are emulated as touch events, and the scroll-wheel controls dragging. I suppose that more complex touch events can be input using the trackpad. The actual application is just a bundle with some meta-data and the iOS application embedded.

I installed a few applications, and they all seem to work OK. The UI feels constrained and could certainly be more native, with actual windows and such, but for these small apps with limited UIs it is good enough. I have to do more testing with some games – Tiny Wings works.

I must say I’m impressed that these apps are useable: cross-platform apps have always been this concept that is simple in theory and hard to put into practice. Windows CE was about that, Java was about that. Clearly taking the most constrained model as a starting point is the right way, after all, this why Unix command-line tools work pretty much on every OS. The chosen path reminds me on how Classic Apps used to be run within Mac OS X, or MAE for that matter. We will see if developer actively validate this emulation mode and improve their apps to support it better. On of the apps, Elesion, was displaying a message that the app is unsafe to use on a Jailbroken phone, not exactly the right diagnostic…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.