I'm on Windows and I've got the latest version of OS X (10.7.4) running as a virtual machine on VMware Workstation. Everything works just perfect, including the latest version of Xcode. Things are very smooth and, unlike one would imagine, there's almost no sluggish behavior. I find working on projects being pretty efficient with the combined power of all the software installed on the two operating systems, which happily communicate through the VMware's shared folder. iOS devices connect via USB to the virtual machine's iTunes and Xcode just fine, like it was a real Mac. (However, the names of nearly all the (virtual) devices of the virtual machine have a "VMware" in them, which makes the VM not so real in the Apple's eyes if Xcode gathers and reports machine statistics during installation or app submission. In any case, even though Xcode might suspect that it's in an "alien" environment, it hasn't shown a single sign of it so far and works totally O.K.)
And, as the time of enrolling into the Apple's developer program is approaching, I wonder do I really have to shrink the development budget by $1000-$1500 or so to purchase a physical Mac as Apple would expect me to do. It's a significant amount of money and I would rather save them for something more useful. I would really like to avoid the purchase. (Un)fortunately, the times when people would buy Macs to lick them, as Steve Jobs' famous words would suggest, are over.
So, my questions are:
Has anyone heard of or maybe experienced fruitful development of iOS apps on a virtual OS X machine, which would mean getting an iOS app signing certificate to be used by Xcode running on that VM, and actually submitting an app to the App Store from the VM?
Even if such thing is technically possible, are there any legal obstacles buried somewhere in the license agreement(s) I would have to agree to while enrolling into the Apple's developer program? (Ahh, something's telling me there are..)
Technical: I don't personally know of anybody developing for iOS in a VM. I don't see why it wouldn't work (the compiler should output the same stuff). It seems like a hassle.
Legal: The Mac OS X license agreement (Apple Menu, select "About This Mac", click "License Agreement" at the bottom of the window) only grants you permission to run Mac OS X on Apple-branded hardware, or in virtual environments that are running on Apple-branded hardware.
My gut says if you want to be a cheapskate, work out of a VM, and submit what you make to the App Store, you probably can. I don't think Xcode is spying on you in the ways you suggest.