1270 Stimmen

Wie kann ich mit einer Windows-Entwicklungsmaschine für das iPhone entwickeln?

Gibt es eine Möglichkeit, mit dem iPhone SDK auf einem Windows-Rechner zu basteln? Gibt es Pläne für eine iPhone SDK-Version für Windows?

Die einzige andere Möglichkeit, die mir dazu einfällt, ist die Ausführung eines Mac-VM-Images auf einem VMWare Server, der unter Windows läuft, obwohl ich mir nicht sicher bin, wie legal das ist.

2 Stimmen

0 Stimmen

Die aktuellen Regeln besagen, dass nur C, Objective-C oder C++ zulässig sind. Damit bleibt C# außen vor.

0 Stimmen

Jupp. Aufgrund von iOS4 TOS 3.3.1

538voto

Andrew Grant Punkte 57342

Es ist sicherlich möglich, auf einem Windows-Rechner zu entwickeln. Tatsächlich habe ich meine erste Anwendung ausschließlich auf der alten Dell Precision entwickelt, die ich damals hatte :)

Es gibt drei Routen;

  1. Installieren Sie OSx86 (auch bekannt als iATKOS / Kalyway) auf einer zweiten Partition/Diskette und Dual-Boot.
  2. Führen Sie Mac OS X Server unter VMWare aus (ab Mac OS X 10.7 (Lion), lesen Sie das Update unten).
  3. Verwenden Sie Delphi XE4 und den macincloud-Dienst. Dies ist ein kommerzielles Toolset, aber die Unterstützung für Komponenten und Bibliotheken wächst.

Der erste Weg erfordert die Modifizierung (oder die Verwendung eines bereits modifizierten) Abbilds von Leopard, das auf einem normalen PC installiert werden kann. Das ist nicht so schwer, wie Sie denken, obwohl das Verhältnis zwischen Erfolg und Aufwand davon abhängt, wie gut die Hardware Ihres PCs mit der des Macs übereinstimmt - wenn Sie z. B. einen Core 2 Duo auf einem Intel-Motherboard mit einer NVidia-Grafikkarte verwenden, haben Sie gut lachen. Wenn Sie einen AMD-Rechner oder einen Rechner ohne SSE3 verwenden, wird es etwas schwieriger.

Wenn Sie eine Leopard-Version kaufen (oder bereits besitzen), ist dies eine Grauzone, da die Leopard-EULA besagt, dass Sie die Software nur auf einem "Apple-gekennzeichneten" Computer ausführen dürfen. Wie viele betonen, sind Sie wahrscheinlich abgesichert, wenn Sie einen Apple-Aufkleber auf Ihren PC kleben.

Die zweite Option ist kostspieliger. Die EULA für die Workstation-Version von Leopard verhindert, dass sie unter Emulation ausgeführt werden kann, und daher gibt es in VMWare keine Unterstützung dafür. Leopard Server hingegen KANN unter Emulation ausgeführt werden und kann für Desktop-Zwecke verwendet werden. Leopard Server und VMWare sind jedoch teuer.

Wenn Sie an der Option 1) interessiert sind, würde ich vorschlagen, dass Sie bei Insanelymac und das Lesen der OSx86-Abschnitte.

Sie sollten sich allerdings überlegen, ob die Zeit, die Sie investieren werden, das Geld wert ist, das Sie sparen werden. Für mich war es das, denn ich bastle gerne an solchen Dingen herum und ich habe während der frühen iPhone-Betas angefangen, Monate bevor der App Store verfügbar war.

Alternativ können Sie auch einen Mac Mini mit geringerer Leistung bei eBay kaufen. Sie brauchen nicht viel Leistung, um das SDK auszuführen, und Sie können ihn später jederzeit weiterverkaufen, wenn Sie die Entwicklung einstellen oder einen besseren Mac kaufen möchten.

Update: Sie können keine virtuelle Mac OS X-Client-Maschine für OS X 10.6 und früher erstellen. Apple erlaubt es nicht, diese Client-Betriebssysteme zu virtualisieren. Ab Mac OS X 10.7 (Lion) hat Apple seine Lizenzvereinbarung in Bezug auf die Virtualisierung geändert. Quelle: VMWare Wissensdatenbank

197voto

jjxtra Punkte 19065

Xamarin ist eine solide Wahl. Es wurde von Microsoft aufgekauft und ist jetzt direkt in Visual Studio integriert. Sie programmieren in C#. Mit all den Updates und Funktionen, die sie hinzufügen, können Sie alles tun, außer von Windows aus im App Store einzureichen, sogar kompilieren, erstellen und auf einem iOS-Gerät bereitstellen.

Für Spiele, Unity 3D ist eine gute Option. Der Editor ist kostenlos für die Entwicklung und sogar für den Vertrieb (wenn Sie weniger als 100K USD Jahresumsatz haben). Unity unterstützt iOS, Android und die meisten anderen Plattformen. Es kann möglich sein, Unitys "Cloud Build"-Funktion zu verwenden, um zu vermeiden, dass ein Mac für die Bereitstellung verwendet werden muss, obwohl Unity standardmäßig ein Xcode-Projekt ausspuckt, wenn es für iOS erstellt wird.

Andere Optionen:

PhoneGap (html/javascript) funktioniert ebenfalls. Es ist nicht ganz so schön für Spiele, aber es ist ziemlich anständig für regelmäßige GUI-Anwendungen.

Flattert (dart) ist ein kostenloses, plattformübergreifendes Framework zur Entwicklung mobiler Anwendungen von Google. Schreiben Sie Ihren Code in Dart.

React Native (javascript) ist ein weiteres beliebtes plattformübergreifendes Framework, das von Facebook entwickelt wurde.

Beachten Sie: Bei all diesen Optionen kann die Entwicklung ganz oder größtenteils unter Windows erfolgen, aber ein MacOS-Gerät ist dennoch erforderlich, um eine Binärdatei für die Einreichung im App Store zu erstellen. Eine Möglichkeit ist es, sich einen günstigen MAC Mini zu besorgen, um den endgültigen Build zu erstellen.

156voto

Josh Hunt Punkte 13617

Wenn Sie ein jailbroken iPhone haben, können Sie das iphone-gcc-Werkzeugkette über Cydia auf das iPhone laden und so die Apps einfach auf dem iPhone zusammenstellen. Apps, die auf diese Weise entwickelt werden, können weiterhin im App Store eingereicht werden.

Und obwohl Herr Valdez sagte, es sei eine Grauzone (was es auch ist), ist Jailbreaking unglaublich einfach und ziemlich risikofrei. Ja, es macht die Garantie ungültig, aber Sie können einfach eine Wiederherstellung durchführen und sie werden es nie erfahren.

85voto

Rachel Henderson Punkte 629

Die meisten "so genannten Windows-Lösungen für die iOS-Entwicklung ohne Mac" erfordern am Ende einen Mac, nur um zu signieren und an den App Store zu senden. Ich habe ein paar überprüft, aber nicht alle (wer hat die Zeit?)

Am Ende ist es einfach zu mühsam, "ihren super einfachen Weg, iOS ohne Objective-C zu programmieren" zu lernen, sie haben viele Fehler. Wirklich das Ziel, das sie setzen, ist meiner Meinung nach unerreichbar.

Außerdem werden Sie oft gezwungen, Objective-C-äquivalente Anweisungen einfach in einer anderen Sprache zu verwenden. Sie sehen irgendwie gleich aus, aber es gibt immer subtile Unterschiede, die man zusätzlich zu Objective-C lernen muss. Das macht auch noch weniger Sinn, denn anstatt weniger zu lernen, muss man jetzt mehr lernen. Wo ist also der Gewinn? Außerdem kosten sie sehr viel, weil sie sehr schwer zu entwickeln sind.

Vielen fehlt es an jeglichen Fähigkeiten zur Fehlersuche.

Meiner ehrlichen Meinung nach sollten Sie, wenn Sie iOS-Entwickler sind, auf jeden Fall den besten Mac kaufen und objective-c lernen. Es ist teuer und braucht Zeit, aber wenn es Ihr Weg ist, ist es das wert.

Für eine gelegentliche Nutzung ist es einfacher, einen Remote-Mac-Dienst zu mieten, wie z. B. XCodeClub.com

61voto

Parand Punkte 96946

Das SDK ist nur unter OS X verfügbar, so dass Sie gezwungen sind, einen Mac zu verwenden. Wenn Sie keinen Mac kaufen möchten, können Sie OS X entweder auf einer virtuellen Maschine auf Ihrem Windows-System ausführen oder OS X auf Ihrem PC installieren.

Meiner Erfahrung nach ist die Lösung mit der virtuellen Maschine ungewöhnlich langsam (auf einem Core2 Duo Laptop mit 2G Ram). Wenn Sie es ausprobieren möchten, suchen Sie nach dem Torrent. Es ist wahrscheinlich nicht wert.

Die andere Möglichkeit besteht darin, OS X auf Ihrem PC zu installieren, was gemeinhin als Hackintosh bezeichnet wird. Hackintoshes funktionieren recht gut - mein Freund hat gerade seinen Mac verkauft, weil sein Dell-Quad-Core-Hackintosh tatsächlich viel schneller war als die Apple-Hardware (und etwa 1/3 kostete).

Natürlich verstoßen beide Optionen wahrscheinlich gegen ein Lizenzierungssystem, so dass Sie auf eigenes Risiko handeln.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X