views:

171

answers:

4

Is there any MacOS virtual machine that can run on PC? Is there any source to get it?

What is the best way to develop apps for iphone?

+7  A: 

Yes all the developer tools are OSX only.

There are lots of iPhone development books out there go check out amazon and find one with some good reviews and that will get you started.

StarShip3000
+3  A: 

You might not, in the strictest terms, have to get a Mac to develop for iPhone; but it will be extremely helpful. Apple is relatively talented at squashing efforts directed towards Hackintoshes and virtual machines running OS X.

Williham Totland
+1 - given the hoop jumping required, anything other than Apple hardware is a serious PITA
KevinDTimm
Apple has not really done anything thus far to quash either Hackintosh development nor running OS X in a VM, apart from putting dubious clauses into their EULA.
Coxy
A: 

Hi,

The shortest answer that will give you the least hassle is: Yes you need a Mac.

But, as far as I know there are a few possibilites, that try to reimplement some Cocoa Frameworks (however they might be Mac OS X only and not iPhone): GNUStep is an example.

But I don't think you get something aquivalent to Xcode (the IDE for iPhone development) this way.

And I think there are some OSX86 Virtual Machines (however these seem to be against Apple's EULA and thus seem to be clearly illegal so I won't point you anywhere to get them).

So to conclude - if you want to develop for iPhone: getting a Mac is the easiest way, even though not cheap.

Hope this helps.

Gjallar
A: 

The short answer is - yes.

One possibility for learning some of what you need to know before getting a Mac is GNUstep.

However, GNUstep is mainly useful for learning Objective C, especially since it provides many of the classes that the Cocoa toolkit for iPhone does. This can be run on Windows. It doesn't, however, support some of the key 2.0 language features that are used 'all the time' in any sample code. What it will allow you to do is design a UI using their UI designer GORM, and use a near-identical message-based system for implementing a UI, and you could theoretically write Objective C classes in GNUstep and then use them on iPhone.

However, to compile an app for iPhone you basically need to have a Mac, because then you can get the key for signing an app, etc. Since you need to get a Mac at some point, there's really little point in going the much harder route of using GNUstep first and learning a more limited implementation, unless you really need to get started before funds are available.

Despite the new SDK terms that can other programming languages, if you're really wanting to start without a Mac, I'd probably be tempted to look at something like Unity, or perhaps even Appcelerator Titanium, and figuring out all the non-platform-specific logic first on whatever platform (Unity has a free version that can be run on Windows, for example).

I'm not that big a fan of xcode, but is is far and a way the best IDE for Objective C development simply because there's almost nothing else out there.

There are, as always, other options. If you do a web app type project, you can implement the website and test a lot of it in a browser. Furthermore, since Android and iPhone browsers are both WebKit based, you can use the free Android SDK to see what pages look like on a comparable mobile device. And since you can use C and C++ classes as well as Objective C (N.B. not for the GUI, since that needs the Objective C extensions for messaging between objects), another option for making a start without a Mac would be to use Eclipse, QT Creator or some other C/C++ IDE to implement non-GUI classes, so long as you make sure you don't use platform-specific libraries.

But the end of the long answer is still that whatever you do, to compile a proper iPhone app you'll be using xcode and associated tools to finally build it and sign it, and so you need a Mac in the end. If you want to create something targetting the iPhone and won't have access to a Mac, then perhaps you're best off looking at creating an iPhone-adapted website using iui or a similar toolkit to give the site a suitable look and feel.

David Burton