For the sound of it, the job would be compiling a cross-target version of GCC/LLVM and putting QEMU, an iOS ISO and some libs in a TGZ. Could hardly be called a major feat of engineering.
Re:Wozniak calls for open Apple
by peterkelly on Wednesday May 16, 2012 @02:06PM
(#3983228)
Another thought: your point is valid, but they should use something other than qemu (e.g. they could probably just buy VMWare with their loose change), and make sure it is running x86 code, not arm. The ARM emulation is I believe the main source of the performance problems in the Android emulator, since it relies on software translation rather than hardware-assisted virtualisation. I've never understood why Google don't use x86 in their emulator, given that almost all Android apps are written in Java.
I think it would be a moderately difficult engineering task, but certainly not outside Apple's capabilities. Ultimately it's a question of whether or not Apple sees benefits in doing so, which I suspect they don't.
It's also interesting to note that back in the dying days of NeXT, when they realised they weren't going to make much money from hardware, they switched to a software-only approach and actually did a port of all the Cocoa frameworks to Windows NT, and you could write Cocoa applications and have them run on windows. So it's not impossible to do this, but given the amount of changes that have happened to the APIs since that time it would probably be easier to go down the VM route.
Re:Wozniak calls for open Apple
by peterkelly on Wednesday May 16, 2012 @01:57PM
(#3983177)
Yep, but qemu is very slow - it's why the Android emulator is basically unusable.
For Apple to support development on other platforms, as far as I can see the only practical option would be to provide an alternative to the simulator which runs a variant of iOS inside a virtual machine. While this is certainly technically feasible to do, and you could make the argument that they should provide such a tool, it does involve a lot more than simply porting a few user-space tools to run on a different OS. Android also benefits in this regard from using Java, which already has compilers available for all major platforms.
It is also worth nothing that the Android emulator, at least last time I checked, is extremely slow to the point of being unusable. When I was developing for Android I found the only realistic option was for me to test on a real device. The speed of the iOS simulator is one of the main things I prefer about iOS development in comparison to Android.