Is there any way to tinker with the iPhone SDK on a Windows machine? Are there plans for an iPhone SDK version for Windows?

The only other way I can think of doing this is to run a Mac VM image on a VMWare server running on Windows, although I'm not too sure how legal this is.


There are no plans yet for a Windows version of the SDK and I wouldn't expect one until at least a few years.

And I don't think you will be able to run a Mac VM image in VMWare. Mac OS X requires specific device signatures that you won't have in VMWare.

+5  A: 

The iPhone SDK is currently for Mac OS X only. Apple may or may not release a version that runs on Windows, who knows?

Virtualizing Mac OS X is in violation of the licence agreement.

John Topley
Mac OS X Server can be legally virtualized - although only on Apple hardware :-)
@LKM that makes it not sensefull to post such a comment on a question like this
DragonFireSDK actually allows you to create apps in Windows
+23  A: 

You'll have to get a Mac to build a real iPhone app, but you can get started with Objective C on a Windows using the gcc compiler.

You can download GNUStep for Windows - the wiki there has a tutorial for getting started with Objective C.


+8  A: 

Miguel de Icaza of Mono posted about using and compiling Mono (a Linux port of the .NET Framework) on the iPhone.

Jon Limjap
The current rules say C, Objective-C, or C++ only. That leaves C# out.
David Thornley
Yup. Because of iOS4 TOS 3.3.1
Jon Limjap
+71  A: 

It's certainly possible to develop on a Windows machine, in fact my first application was exclusively developed on the old Dell Precision I had at the time :)

There are two routes;

  1. Install OSx86 (aka iATKOS / Kalyway) on a second partition/disk and dual boot.
  2. Run Mac OS X Server under VMWare.

The first route requires modifying (or using a pre-modified) image of Leopard that can be installed on a regular PC. This is not as hard as you would think, although your success/effort ratio will depend upon how closely the hardware in your PC matches that in Mac hardware - e.g. if you're running a Core 2 Duo on an Intel Motherboard, with a NVidia graphics card you are laughing. If you're running an AMD machine or something without SSE3 it gets a little more involved.

If you purchase (or already own) a version of Leopard then this is a gray area since the Leopard EULA states you may only run it on an "Apple Labeled" machine. As many point out if you stick an Apple sticker on your PC you're probably covered.

The second option is the more costly. The EULA for the workstation version of Leopard prevents it from being run under emulation and as a result there's no support in VMWare for this. Leopard server however CAN be run under emulation and can be used for desktop purposes. Leopard server and VMWare are expensive however.

If you're interested in option 1) I would suggest starting at forum.insanelymac.com and reading the OSx86 sections.

I do think you should consider whether the time you will invest is going to be worth the money you will save though. It was for me because I enjoy tinkering with this type of stuff and I started during the early iPhone betas, months before their App Store became available.

Alternatively you could pickup a low-spec Mac Mini from eBay. You don't need much horse power to run the SDK and you can always sell it on later if you decide to stop development or buy a better Mac.

Andrew Grant
Mac OS X Server can only be virtualized legally on Apple hardware, afaik.
so that leaves you with OSX86 - oh, wait.
+1 for "Mac Mini from eBay." Just make sure it's got an Intel CPU!
Dennis Palmer
+1 for "if you stick an Apple sticker on your PC you're probably covered."
Seun Osewa
"if you stick an Apple sticker on your PC you're probably covered' LOL. Off course you not. But i think everyone understands that. +1.
+2  A: 

Check out this:


It is a project that attempts to be able to cross-compile programs written in a variety of source languages to a variety of target languages. One of the initial test cases was to write programs in Java and run them on an iPhone. Watching the video on the site is worthwhile.

With that said, I haven't tried it. The project seems quite beta, and there isn't a lot of activity on their SourceForge site.


You can try dual-booting Mac OS X on your computer. There is no iPhone SDK for Windows, and I doubt there ever will be. Porting Xcode, Interface Builder, Instruments, etc. would be a huge task.

Actually, DragonFireSDK is an iPhone SDK for Windows program.

Karl, are you booting into Mac OS X or running it within Windows XP? If you're running within Windows XP setup an FTP server on the Windows XP computer and from the Mac OS X computer ftp into the Windows computer. Or use a USB drive or burn to CD/DVD.

+9  A: 

Use the Airplay SDK (for iPhone you will still need a Mac to sign your application, but that's it, all the development / testing can be done on Windows). It is free for iPhone development unless you make more than USD 50K / year.


PhoneGap also works, but I have found it isn't quite as nice for gaming, but it's pretty decent for regular GUI applications. Again, you'll need a Mac to sign your application and be in compliance with Apples terms of use.

John JJ Curtis
http://www.ideaworkslabs.com/en/ is a working URL
I'm using Airplay to develop a cross-platform game. The good news they're probably fully compliant with the new iPhone OS 4.0 terms and conditions. See http://www.airplaysdk.com/node/672
+3  A: 

Try this http://www.dragonfiresdk.com/index.htm

+2  A: 

Check out this post about the Dragon Fire SDK: http://www.j2i.net/BlogEngine/post/2009/11/25/DargonFire-SDK-iPhone-Development-without-Windows.aspx

In addition, the SDK seems to be very limited, allowing you to load a background, and place images.

Charles Doty
I just updated that blog entry. It seems that the reach of the SDK has been increasing with each new release.
+1  A: 

Go here: http://monotouch.net/

David Altfeder
Monotouch requires a Mac.
+1  A: 

I purchased DragonFireSDK and have developed a few small apps. The SDK is still in Beta (02/18/10), fairly limited but has already had a few updates since I purchased it.

I'd say forget hacks and go with this, by the time you're done with your layout and user interface they'll have the functions required.


They have the official program up and running now. No longer in beta and it's way more useful now.

Two other options

  1. Titanium Developer - free community edition - write in HTML/JavaScript - compile with Xcode (requires a Mac or VM)

  2. OpenPlus ELIPS Studio - write in Flex, compile on Xcode (requires a Mac or VM) - they just started charging for their product however.

I think there may be 'toolchain' options for these and some of the others mentioned, which allow you to compile to binary on Windows, and I have seen that you can upload a zip file and have a toolchain style compile done for you online, but this goes against the Apple licensing.

If I am not mistaken, a product such as Titanium that outputs/works with Xcode and does not use any 3rd party / alternative / restricted libraries should be in compliance, because you are ultimately compiling in xcode - normal Objective-C code and libraries.


I've looked into setting up Mac VM and the cost will be higher than $500 (you'll need a Mac Snow Leopard Server OS and VMWare Server). If you already have the licenses then it'll be cheaper of course.


I am having one doubt using VMWare Server. I have installed applications using VMWare Server. Can I upload these applications to App Store? Is there any chance that Apple can find the application is developed in VMWare Server and Apple will reject this application?

Balaji R
No because this does not answer the question.
+1  A: 

Buy a few iPhone 4s and sell them on eBay to make about £100 profit (some weird people buy iPhones for £600+ on eBay) each and then with the profit buy a second hand Intel Mac mini :)


Thanks for the info.

Nosy Rat