views:

116394

answers:

59

Is there a way to develop iPhone applications on Windows? I really don't want to get yet another machine.

There is a project on http://code.google.com/p/winchain/wiki/HowToUse that seemed to work with iPhone 1.0, but had limited success with iPhone 2.0, plus it requires all the Cygwin insanity.

Is there anything else, or do I have to buy a Mac?

A: 

Not if you expect your application to ship via the store.

DamienG
+4  A: 

The iPhone developer tools are only available for Xcode, the OSX platform development kit. Which obviously is only available for for OSX.

Joseph Daigle
+1  A: 

As far as I know, it is not possible. The SDK only functions on the Mac. If you wish to build and test your code, you will need a Mac. I know it's hearsay, but the new Macs are supposedly shipping on the 14th of October and I heard they are supposed to be more aggressively priced for their entry level machines, so you may want to pick one up in a month or so if you are serious about developing apps for the iPhone.

scubabbl
A: 

Completely different architecture, I'm afraid you're out of luck.

David McGraw
+1  A: 

No. At least for now, developing native applications for the iPhone/iPod touch platform Xcode, Apple's suite of Mac-only developer tools.

Jeremy Banks
+7  A: 

You can try to develop web-based application for iPhone on windows if you wish so, but for "proper" applications you will need iPhone SDK and Xcode, those are Mac only, sorry…

Rimantas
+1 because in a lot of cases, a web app may be sufficient and they can be made to look and feel much like a native app. I'm going to investigate making an iPhone interface for my current project using this method.
geofftnz
@geofftnz: I *hate* iPhone web apps. They never feel like native apps—they're slow and sluggish, and the graphics are usually far from impressive.
Steve Harrison
+1  A: 

As far as I understand it, in order to develop applications you need Mac OS 10.5 (Leopard) and the latest version of XCode (that's Apple's integrated development environment). Without both of those things, you're out of luck.

pk
A: 

I am not aware of a Windows option (and I've looked) that works. There are ways to develop apps for the jailbroken phones via Linux that are easily found via Google.

Chuck
+21  A: 

You can use WinChain

dawnerd
Interesting... :)
Lucas Jones
+4  A: 

Simply put there isn't - you can develop applications on a virtual OSX machine hosted on windows or using VMWARE but it's a violation of the license agreement so its effectively illegal - or by using Winchain/toolchain projects, which people have had mixed success with.

Part of the Apple strategy is to force buy-in of their hardware, as a hobbiest this might be ok to you either making use of jailbroken phone or toolchain - but if you were going to try and profit from building apps for the iphone via the store you would need to develop your app on Mac hardware/OS, and comply to the rather tight restrictions enforced by the developers license, which seems fair if you're going to profit from their platform in the first place.

Bittercoder
+34  A: 

You will need an Intel-based Mac as the iPhone SDK requires OS X to run applications such as Xcode and the iPhone Simulator. Unfortunately, there is no legal way to develop applications for iPhone on anything that isn't a Mac.

eczarny
+2  A: 

You cannot develop iPhone applications on Windows, at least not without jailbreaking your iPhone.

In order to develop iPhone applications, you have to use the XCode development environment. This environment only runs on OS X, so you are out of luck on Windows. I doubt Apple will port XCode to Windows. I'm sure this is also an attempt by Apple to drive more people to Macs.

You can develop iPhone web applications on Windows (or Linux, or whatever) though.

rekle
+3  A: 

The SDK is only available on OS X, forcing you to use a mac. If you don't want to purchase a mac you can either run OS X on a virtual machine on your windows box, or you can install OS X on your PC.

In my experience the virtual machine solution is unusably slow (on a core2 duo laptop with 2G ram). If you feel like trying it search for the torrent. It's probably not worthwhile.

The other option is to install OS X on your PC, commonly referred to as a hackintosh. Hackintoshes work quite well - my friend just sold his mac because his Dell quad core hackintosh was actually much faster than the apple hardware (and cost about 1/3). You can find lots of articles on how to do this; here's one on how to install on a Dell Inspirion 1525 laptop: http://www.espressoreport.com/83/dell-inspiron-1525-hackbook-pro-tutorial/

Of course both of these options are likely counter to some licensing scheme, so proceed at your own risk.

Btw, how about giving apple some hell about being closed and forcing a platform (including hardware) on users? If MS had done the same surely we'd all be outraged.

Parand
"how about giving apple some hell about being closed and forcing a platform (including hardware) on users? If MS had done the same surely we'd all be outraged." Hehehe. Are you saying that MS has visual studio running on the MAC? MS is just as locked into their own platform as Apple.
Adam Davis
Would you also say "Apple is just as locked into their own platform as MS"? If so, they should be catching as much hell for it as MS is. I'm not saying MS is doing it right, I'm say Apple should get some hell for going so proprietary.
Parand
Neither company is a shining example of morality. Both make totally self serving decisions purely for profit. Any other opinion == you drank the marketing cool aid. (Would love to XNA on my mac though)
Nick
The difference is that Apple locks you into their _hardware_ (which is no different than regular PC hardware) where as Microsoft only locks you into their _software_. Last time I checked, hardware is the bigger investment.
wizlb
@wizlb: Oddly enough, Microsoft is a software company, while Apple is a hardware company (that uses software for a competitive advantage). I've also used software tools that were more expensive than a low-end Mac Mini, and once you've got that the entire iPhone/Mac dev toolchain is free. Really, I don't see the difference between wanting the iPhone dev tools on Windows or wanting Visual Studio to run on my Ubuntu box.
David Thornley
I am outraged that I can't run my Megadrive games on my SNES!
graham.reeds
+21  A: 

If you have a jailbroken iPhone, you can install the full toolchain onto the iPhone through cydia and that way you can justcompilie the apps on the iPhone. Apps that are developed this way can still be submitted to the App Store

And although MrValdez said it is a grey area (which it is), jailbreaking is incredibly easy and pretty much risk free. Yes, it voids your warrenty but you can just do a restore and they will never know

joshhunt
+38  A: 

Short answer: no. More info here: http://forums.macrumors.com/showthread.php?t=537583 Long answer: you can if you jailbreak your iPhone... but that's against your iPhone's EULA, jailbreaking would void your warranty, and there's a question on how to distribute your program without requiring a jailbreaked phone.

You could program to Safari for Windows, but that wouldn't be iPhone developement (its closer to web development). You won't be able to take advantage of all the functions on the iPhone this way, but most of these limitations can be solved with a little creativity.

In short, there's a gray area of the iPhone SDK prevent development on other platforms (read: not Mac).

Btw, Apple has a very confusing Eula (Safari for Windows' EULA says that you can't install it on a non-Apple labeled computer.

MrValdez
So I can install it as long as my computer does not have the label "non-Apple"? :)
presario
Jailbreaking also introduces so many unknowns that it is unwise for any non-hobby iPhone project. A quick google shows tons of mysterious bugs that seem to crop up on jailbroken devices. It is "cheaper" in some sense just to get a Mac mini.
jhs
+14  A: 

My app, which has been on sale for three weeks, was developed entirely on a PC. See this topic for info.

http://stackoverflow.com/questions/22358/how-can-i-develop-for-iphone-using-a-windows-development-machine#28573

There are also now ways to run Leopard Client under emulation, though the legality of that is questionable.

Andrew Grant
A: 

I want to make an app for my iphone running 3g on 2.1 My iphone is jailbroken and i want the app for my personal use only, will WinChain work?

A: 

No - you pretty much have to get a Mac and Apple's SDK.

Nathaniel Flath
And you'll never regret you did. =)
PEZ
A: 

I suppose you could try running a hackintosh in a virtual machine.

frankodwyer
Note that this is a violation of the OS X EULA and thus not recommended, especially if this is for a corporate setting.
Cody Brocious
Yes, agreed. Though it is a PITA requirement from Apple (yes Macs are nice and I have one, but VMs are also exceptionally useful for testing and it would be nice to be able to do this)
frankodwyer
@frankodwyer you're allowed to run OS X Server in a VM, so you are able to do this
Graham Lee
You are not allowed to virtualize OS X server on non OS X operating systems. I'm not even sure iPhone SDK works well on OS X Server
Mehrdad Afshari
+6  A: 

Of course, you can write Objective-C code in notepad or other programs and then move it to a Mac to compile.

But seriously, it depends on whether you are developing official applications to put in App Store or developing applications for jailbroken iPhone. To write official applications, Apple iPhone SDK which requires an Intel Mac seems to be the only practical way. However, there is an unofficial toolchain to write applications for jailbroken iPhones. You can run it on Linux and Windows (using Cygwin).

Mehrdad Afshari
+3  A: 

If this is for work purposes, then no, you will need a Mac.

For personal use, look to getting a Mac Mini in January sometime (new version rumoured, who knows how true it is, but it's the cheap Mac). For work, might be a good excuse to get a Mac on your desktop too if the iPhone application is deemed a necessary development by management. Your alternative for personal use is to set up a Hackintosh, but there are often specific hardware requirements that might cost some money, and it's a complete hassle on top. I don't personally think you would regret owning a Mac, they're very nice for developers.

JeeBee
A: 

See my response here: http://stackoverflow.com/questions/377116/mono-on-the-iphone#377239

I have seen this question come up once a day on stack overflow. It's getting kind of old now.

rustyshelf
A: 

OSX runs in a VM, so in theory it is possible. However, there are a few problems. Getting networking support in a VM (I'm talking about VMWare) for OSX is extremely hard. Also, the whole thing is going to be very slow, and I don't think it's a case of throwing RAM at it.

Dmitri Nesteruk
A: 

Probably. I would say go for it. Hmm... Hackintosh... I just might give that a try...

A: 

i've been trying to use a "hackintosh" a virtualized version of OSX if you're able to get your hands on one, its great but between legalities and all the know how of setting it up, since it doesnt run without mods... they're next to impossible to find but for iphone dev they're GRRRREAT! just dont use it for gaming

A: 

Off-topic

I love Linux. I can tolerate/love Windows. But I friggin hate Mac for these 'MUST-DO' attitude. Will never buy Mac again. I donated my last one to charity.

A: 

...I don't have a chance of learning/developing Iphone apps using Windows... -_- This is not good...

A: 

agreeing totally!!

Don't use answers as comments, that's what comments are for!
Soviut
+2  A: 

As has been pointed you can attempt to use the WinChain but if you are a newbie coder it won't be easy.

The iPhone SDK will work on Hackintoshes (a normal PC with OSX installed on it). I know as I have one and it does.

So after you go buy an OSX license you could TRY to install it on your PC on a different drive using Boot-132 or one of the other installers like iDeneb. The issue you will have to do a lot of tinkering and things still won't work quite right.

+2  A: 

http://developer.android.com/sdk/download.html?v=android-sdk-windows-1.5_r1.zip

Technically this is not an answer to this question.
jmucchiello
A: 

Leave it to the pros then.

Whats the use of that. He wants to DEVELOP the application himself.
Kryten
+16  A: 

Just FYI, I did end up buying a new Mac, but it wasn't as expensive as I thought.

MacMini was $399 at MicroCenter (in southern california). It's not the latest gen, but it's fast enough, and comes with latest Leopard.

XCode installed easily and runs pretty snappy.

AngryHacker
Good advice. Glad to hear a Mini didn't set you back too much.
jocull
Glad to hear it. Now you're "official". :)
kirk.burleson
This should have been a comment on your original question or even an edit of your question.
Icode4food
A: 

I am pretty disappointed with Apple, no Windows IDE, typical - they soon enough port i-tunes!! They should be forced to support every OS.

I assume that Microsoft should also make Visual Studio run on, and target, Mac OSX, innumerable Linux distros, openSolaris, AIX, and so on.
David Thornley
One difference is that (to my knowledge) MS doesn't make you accept a license agreement which requires you to develop on windows in order to distribute your software. They don't go out of their way to (e.g.) provide visual studio for other platforms, but if you want to use gcc and/or some other solution to build a windows app on another OS, more power to you.
Mike Kale
+2  A: 

I can't see Apple ever allowing iPhone dev on PC, they are using the success of the platform to drive both OS and hardware sales. If they support development on the Windows platform, they lose that income generation.

Stephen Newman
+2  A: 

I noticed that this is a year old now, but for those who stumble on this through a search you may want to look into Adobe's newest announcement about developing iPhone apps using ActionScript 3 and Flash. Also they will be releasing a future flex framework for UI design on iPhone and other smartphones called Slider.

Adrian
+1  A: 

I know you want to develop it on windows, but I would seriously consider picking up a refurbished mac-mini for this purpose. I looked at different ways of running it on a windows box but they all had some major downsides. In the end I watched the refurbished link on the apple store until the mac mini came up. I also got a refurb keyboard and mouse and for $600 I was up and running. So far the mac mini has been great and has actually become my main computer. I see there is one up there today for $499 http://store.apple.com/us/browse/home/specialdeals/mac/mac%5Fmini

Codezy
Frankly, folks, I've spent more than that on software development tools (although not always with my own money). Once you get the Mac mini, the software tools are free.
David Thornley
+2  A: 

You will soon be able to use Adobe Flash CS 5 to create Apps for the iPhone on Windows:

http://labs.adobe.com/technologies/flashcs5/appsfor%5Fiphone/ http://labs.adobe.com/technologies/flashcs5/

Nissan Fan
See the various posts at http://iphonedevelopment.blogspot.com/2009_10_01_archive.html for why this is a bad idea.
Steve Harrison
A: 

I found this: http://hostfr.x50.cc/wisdk/index2.html

Its soon to be released.....Might be helpful...

Harsimran Singh
A: 

i bought an iphone 3g a few days earlier, and i'm surprised that sdk is only available for osx. in my country iphone 3g cost me a near 1000$, and i have to buy a mac for developing an app for it? i thought ms was the dictator, but looks like apple is trying to catch up.. by the way, for people saying that ms has no visual studio, ms at least has java support, but iphone does not have java support too, so there is no way to develop a iphone app with windows.

Deniz
If you're any sort of professional developer, the cost of a Mac Mini isn't important. The iPhone isn't intended for the casual programmer.
David Thornley
A: 

There is a VMWare approach to run XCode using Windows: tutorial

However I doupt that it is leagal.

Ghommey
A: 

Saying that various methods of doing this are "illegal" is pretty ignorant and ridiculous. If you own a copy of OSX then it's perfectly legal to use it to setup a dual boot environment on a PC, which would probably be your best bet.

Justin Buser
Not in the US. I regret to say that EULAs have been held valid in numerous court cases. It offends me, but that is the current state of US law. I'm not saying it's immoral, or that you shouldn't do it, but that a US court of law will almost certainly find the practice illegal should it get that far.
David Thornley
A: 

Last time I will listen to a MAC user go on about Microsoft's anti competitive practices. Humph!

Not that I have anything against MACS just don't have $2000 aussie to fork out at the moment to buy one.

Have you thought of developing it using Flash and then launching it on iTunes? Now you can check out the Adobe News Flash (no pun intended)

David
+1  A: 

You can use Sentenza for make applications for iPhone, on Windows. Tested with success. It's not a solution but a good alternative !

KloéLo
A: 

I've found those ones:

http://www.genuitec.com/mobile/

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

does anybody have tied them?

Pons
A: 

I found this about DragonFire... I think I'm going to get it

http://www.youtube.com/watch?v=LmisN2AifsU

Jeremy
Must be Jailbroken to dev with this software.
Mark Tomlin
+2  A: 

You can use Tersus (free, open source).

Ofer Brandes
+3  A: 

Use Airplay SDK. Full C++ SDK compile to regular iPhone binary all on Win32. It also supports a bunch of other smartphone platforms.

You still need to join Apple's developer program though some people seem to be using jailbroken devices. Naughty boys!

SteveJobs
+1 Thanks SteveJobs. You are a blessing to Windows lol.
01010011
A: 

The latest DragonFire SDK release doesn't need to jailbreak your iPhone. And it's a legal way to do iPhone development as well for the development language is being C/C++. The SDK is quite limited though, but you can do some real games with it. One of the games using DragonFire's SDK can be found at http://www.youtube.com/watch?v=vL13rQilX08.

astk
Ya. That's the game I made using DragonFire SDK.
astk
A: 

The new update for DragonFireSDK allows you to develop apps through Windows without the need to jailbreak your phone.

DragonFireSDK Operating in Windows:

What's your stake in it? You sure are pushing it hard on SO.
kirk.burleson
A: 

Oracle VirtualBox allows users to install Mac OS X in a virtual machine. If you are comfortable with it, you could just use that way to use Xcode.

Other possibilities are cross-compilers such as Appcelerator Titanium (HTML, CSS and JavaScript) or MonoTouch (.NET).

FB55
+1  A: 

Run a virtual machine VMware install of Mac OS X and do your iPhone development there. It will cost you $30 for Mac OS X instead of the $1000 for the MacBook.

Typeoneerror
+2  A: 

You could get Mac running on a standard Intel PC. There are plenty of tutorials on how to do it. Maybe dual boot your PC :) Unless you have a fast PC. Then VirtualBox or VMware are good solutions.

I would like full Windows development or Linux. Not realy a Mac fanboy. If not for iPhone and iPod Apple probably would have died during this recession.

pRoFiT
Yeah, probably...
kirk.burleson
A: 

You need an Intel-based Mac for iPhone development.

Development of iPhone applications requires an Intel-based Macintosh computer running Mac OS X v10.5 or later. You must also download and install the iPhone SDK.

John Rapid
You've obviously been out of the loop for a while if you still think Flash is a path to the App Store.
FerretallicA
A: 

You may try to develop web apps for iPhone using HTML, JavaScript, CSS. Check the getting started info at Apple's site.

Toxic
I've just found a piece of software called MobiOne Studio. As stated on the site: "MobiOne Studio - the iPhone app and web app designer and iPhone test center with iPhone emulator that enables you to create, customize and run iPhone user interfaces in minutes, not days." Maybe it will be helpful for you. Link: http://www.genuitec.com/mobile/.
Toxic
+1  A: 

I guess we are again back to the age-old question of a corporation wanting to lock-down code to their hardware but software developers want it out in the "open" so that we can learn and develop as a software developer pleases.

I am no fan-boy of either a Win or Mac system, so don't flame-bomb me here.

I am only all for the software developer that is in all of us.

Zac
Go buy a Mac and you can "learn and develop as you please." Apple exists to make a profit, not to creat open source products for developers who want a free ride.
kirk.burleson
A: 

Since this summer, developer become able to develop iphone apps on windows, take a look : http://www.itjunky.info/it-news/iphone-development-in-windows/

+1  A: 

Hey everyone, just wanted to say YES! You CAN develop for iPhone/iPod/iPad on windows, it's called airplay sdk, and it ain't low-powered like dragonfiresdk, it's complete! You can test your apps in a simulator, or build them to your device! Although airplay sdk is free, unless your iPhone is jailbroken, you can't test on your idevice without a iPhone developer account with apple, this costs $100 annually. The cool part is, there is no Mac needed in this whole process! Airplay sdk is free and surprisingly powerful!!!!

Clone_Tekboy
The download link says "Download/Buy" and I can't find any info anywhere on licensing costs. Why do I get a sinking feeling the SDK is free then you get hit when you publish? Still +1, but I'll probably stick with the official SDK and OSX in VMware.
FerretallicA
Airplay is free for iPhone development. If you pay you will have acess to development for many other platforms. All you have to do is register and get a indie/iPhone license, completely free; I have one. After you make your app you can sign and upload it to the app store from your windows pc. I havn't tried signing yet because I don't have a developer license from apple yet. Check the forums ( http://www.airplaysdk.com/forum ) and ask any one you want if thier are hidden fees ;) I haven't spent a dollar yet on my entire iPhone development career so far. Clone_Tekboy
Clone_Tekboy
+1  A: 

You would think most of the developer community has never heard of cross compilers.

From a technical standpoint, you do not need a Mac to generate application code that would run on the iWidget.

What you need is development tools that run on whatever hardware/software platform you own, that will compile code for the hardware/software platform you want to develop for, and a way to then send that compiled binary code over to the target for execution.

Now whether that solution exists, I don't know. I'd expect, in this 'open source' day and age that someone would be working on a cross-compiler dev environment that lets you build iWidget code and transfer it to the iWidget for execution and testing.

Whether any of that violates a license agreement is a separate issue that I'm not so concerned about. If I ever got to the point of developing an app that has promise, then I'd subscribe to the dev network to gain access to the closed store environment (as a hobbyist)

Minok
A: 

I know gcc (Linux) will compile Objective-C, but I've although I have worked with gcc quite a bit (Ada, for God's sake!), I haven't worked in Objective-C. I assume there's also a necessary development environment (a la Android), but I don't have any information about that.

Rich