Hoe kan ik ontwikkelen voor iPhone met een Windows-ontwikkelmachine?

Is er een manier om te sleutelen aan de iPhone SDK op een Windows machine? Zijn er plannen voor een iPhone SDK versie voor Windows?

De enige andere manier die ik kan bedenken om dit te doen is door een Mac VM image op een VMWare server onder Windows te draaien, hoewel ik niet zeker weet hoe legaal dit is.

Het is zeker mogelijk om te ontwikkelen op een Windows-machine, in feite, mijn eerste applicatie werd uitsluitend ontwikkeld op de oude Dell Precision die ik had in die tijd :)

Er zijn drie routes;

  1. Installeer OSx86 (aka iATKOS / Kalyway) op een tweede partitie/schijf en dual boot.
  2. Draai Mac OS X Server onder VMWare (Mac OS X 10.7 (Lion) en hoger, lees de update hieronder).
  3. Gebruik Delphi XE4 en de macincloud service. Dit is een commerciële toolset, maar de ondersteuning voor componenten en libs groeit.

De eerste route vereist het aanpassen (of gebruiken van een voorgemodificeerde) image van Leopard die op een gewone PC kan worden geïnstalleerd. Dit is niet zo moeilijk als je zou denken, hoewel de verhouding tussen succes en moeite zal afhangen van hoe nauw de hardware in je PC overeenkomt met die in Mac hardware - als je bijvoorbeeld een Core 2 Duo op een Intel moederbord draait, met een NVidia grafische kaart, dan zit je goed. Als je een AMD machine gebruikt of iets zonder SSE3 wordt het een beetje ingewikkelder.

Als je een versie van Leopard koopt (of al bezit) dan is dit een grijs gebied omdat de Leopard EULA zegt dat je het alleen op een "Apple Labeled" machine mag draaien. Zoals velen zeggen, als je een Apple sticker op je PC plakt, ben je waarschijnlijk gedekt.

De tweede optie is duurder. De EULA voor de werkstation versie van Leopard verhindert het om het onder emulatie te draaien en als gevolg daarvan is er geen ondersteuning in VMWare voor dit. Leopard server, echter, KAN worden uitgevoerd onder emulatie en kan worden gebruikt voor desktop doeleinden. Leopard server en VMWare zijn echter duur.

Als je geïnteresseerd bent in optie 1) zou ik voorstellen te beginnen bij Insanelymac en de OSx86 secties te lezen.

Ik denk dat je moet overwegen of de tijd die je gaat investeren het geld dat je gaat besparen wel waard zal zijn. Voor mij wel, want ik vind het leuk om aan dit soort dingen te sleutelen en ik begon tijdens de eerste iPhone beta's, maanden voordat hun App Store beschikbaar was.

Als alternatief zou je een Mac Mini van eBay kunnen kopen. Je hebt niet veel paardenkracht nodig om de SDK te draaien en je kunt hem later altijd doorverkopen als je besluit met de ontwikkeling te stoppen of een betere Mac te kopen.

Update: U kunt geen Mac OS X Client virtuele machine maken voor OS X 10.6 en eerder. Apple staat niet toe dat deze Client OSen gevirtualiseerd worden. Vanaf Mac OS X 10.7 (Lion) heeft Apple zijn licentieovereenkomst met betrekking tot virtualisatie gewijzigd. Bron: VMWare KnowledgeBase

Commentaren (7)

De SDK is alleen beschikbaar op OS X, waardoor je gedwongen bent een mac te gebruiken. Als je geen mac wilt kopen, kun je OS X draaien op een virtuele machine op je windows box, of je kunt OS X op je PC installeren.

Mijn ervaring is dat de virtuele machine ongewoon traag is (op een core2 duo laptop met 2G ram). Als je zin hebt om het te proberen, zoek dan naar de torrent. Het is waarschijnlijk niet de moeite waard.

De andere optie is om OS X op je PC te installeren, ook wel een hackintosh genoemd. Hackintoshes werken heel goed - mijn vriend heeft net zijn mac verkocht omdat zijn Dell quad core hackintosh eigenlijk veel sneller was dan de apple hardware (en ongeveer 1/3 kostte). Je kunt veel artikelen vinden over hoe dit te doen; hier is er een over hoe het te installeren op een Dell Inspirion 1525 laptop: hackbook pro tutorial

Natuurlijk zijn beide opties waarschijnlijk in strijd met een of andere licentieregeling, dus ga op eigen risico te werk.

Commentaren (2)

U kunt gebruik maken van WinChain

De projectpagina citeren:

Het is de gemakkelijkste manier om de iPhone toolchain te bouwen op een Windows XP/Vista computer, die op zijn beurt Objective-C broncode kan nemen die je schrijft met behulp van hun UIKit Headers (meegeleverd met winChain) en compileert het in een applicatie die je kunt gebruiken op je iPhone.

Commentaren (2)