views:

719

answers:

7

I am thinking about getting an iPhone, but there are no good solutions for developing iPhone applications on the Windows platform. I don't own or have easy access to a Mac.

Were my position switched, I know I could at minimum rent a VPS and do Windows work using RDP or VNC. As limited as the Windows VPS machines are, one can still run and use VS Express and other development tools on them. Mac VPS is still in it infancy, but even then it appears that it's decidedly a server environment, with no desktop style GUI with remote access.

Is there a similar low cost solution that would allow me to develop in the Mac environment? This would be primarily for my own small projects, learning, etc, and so I can't justify the cost of a $600 Mac Mini.

It appears my only real option for doing Apple development is to purchase Apple hardware, but I'm hoping you can tell me otherwise. While this question has a focus on iPhone, developing other Mac software would also be relevant.

+4  A: 

Not a direct answer (hence wiki), but my experience with surface suggests to me that even if you do get an emulator, that is only enough to help quicken development - you shouldn't for one moment think that an app that looks and feels right on an emulator works well on an actual device. This applies trebly so in the case of touch-enabled devices like iPhone / surface, where things like orientation, physical response, etc are all very important factors - that are poorly emulated (at best) on regular PCs.

Marc Gravell
Very good point. In this case I would have an iPhone to deploy to, but now I'm wondering if I can even get the app on my iPhone without physically connecting it to the Mac itself? I may not be able to do remote iPhone dev work even if a good cheap remote Mac service was available...
Adam Davis
I pretty regularly mistake the size of my mouse cursor on the simulator to be the size of my finger, and when I test on the device everything is pretty impossible to use and I have to redesign.
ryanday
+3  A: 

Don't know if I'm crossing any lines here, however you could buy a MacOS license and try installing it on your PC or "finding" a MacOS vmware image (search keywords osx86project, hackintosh, macos vmware image). Many tutorials and images are out there, however it's a extensive procedure, in particular updating and in the end it might not be worth the effort! Good luck!

merkuro
These options exist, but ideally I would be able to work 'legally' including following Apple's licenses. This is an option for some people, though, and in some cases it may be the only option.
Adam Davis
If you are just looking to learn and experiment these options will be good. If you want to "legally" follow everything Apple says then you will have to get an Intel based Macintosh, and a developer license to load the app onto your device. I grabbed a PPC Mac Mini off Craigslist to learn with and have been pretty happy with that.
ryanday
The MacOS vmware solution is terribly slow even on fast PCs.
Nosredna
Note that I believe iphone development requires an intel based mac (not PPC). This requirement might be that of the OS (10.4?) which is required to run the necessary version of xcode...i'm not sure
Michael Haren
Everything I've seen says to use an Intel mac, not PPC. It isn't a question of the most recent OS, since Leopard runs on Intel and PPC, and Snow Leopard isn't out yet (rumored to be Intel-only). I don't know that it would be practical to download a program to the iPhone from a virtualized Mac, but if you're going to spend $100 for the ability to download, you may as well buy a Mac Mini.
David Thornley
One guy claims to have flipped a couple switches inside Xcode to get PPC to work. You do need Leopard. And I wouldn't be surprised if you didn't need Snow Leopard soon. Read the comments to see if it's worth your effort to try on PPC. http://www.tbradford.org/2008/03/iphone-sdk-beta-2-possible-ppc-fix.html
Nosredna
+6  A: 

How much would you expect to pay per hour? I bought a Mac Mini for $600 and it works great. New Minis are pretty speedy. Some people up the RAM, but I haven't seen the need yet. I'm using a PC mouse, keyboard, and monitor.

Xcode requires that you have a provisioned device connected via USB to the Mac. Maybe there's a way around that.

There are a lot of questions about how to avoid buying a Mac to do development. I looked into it a while myself. I decided it was like trying to change a lightbulb in a desk lamp with your feet.

Nosredna
I don't have much to add, I just wanted to say how amusing I found the feet comment.I have a friend who also bought a mini to do iPhone development and it works for her. Even used ones are fine, anything that has an Intel will work.
Kendall Helmstetter Gelner
Alright, someone make a t-shirt: drawing of two feet grasping a lightbulb in a desk lamp. On the back, "Mac software development on Windows is like changing a lightbulb with your feet."
Adam Davis
Now I want to start a new company, "Footlamp Productions: We Do It the Hard Way."
Adam Davis
I demand a royalty.
Nosredna
Totally agree here - minis are reasonably priced and a great way to get started!
Chris Gummer
+2  A: 

Have you checked out Apple's refurbished units on their online store? Although there aren't any minis currently listed, they update the listings fairly often. I managed to snag a refurb mini for about $450!

ignorantslut
Yep or buy a second hand Mac Mini, as long as it's a reasonable spec it'll be good enough for developing.
Tom
A: 

I've never seen remote Macs for rental. It is possible to lease physical Mac hardware for a period of time. A quick Google should throw up links to suppliers in your area. Apple sell a remote desktop application so what you're asking for should be theoretically possible. Never seen it on Windows either.

As others have noted, refurbished or second hand Macs can be pretty cheap and usable. I do my iPhone development on a nearly three year old MacBook and it's just fine. Anything with an Intel CPU should be okay and, as ever, the more memory the better.

If you do find a remote host, you should be able to pretty much everything remotely. You'll even be able to get a copy of the app running on your phone (using ad hoc distribution). Unless you can share USB ports across the net you'll miss out on debugging code running on your handset.

Stephen Darlington
A: 

If i have to rent you my own macbook for development using VNC so that you could access it remotely using your windows machine or any other machine. how much you are willing to pay?

dost
A: 

Using a remote desktop solution cancels out the ability to actually deploy your code on the iPhone/iPod device itself. You would only have the simulator for testing and that I would strongly discourage as its a simulation (even though its a really good one). E.g. you cant test acceleration on the simulator.

Till