550 Stimmen

Beginnen Sie mit der Entwicklung von iPhone-Anwendungen unter Linux?

Ich habe gehört, dass man sich einen Mac zulegen muss, wenn man iPhone-Anwendungen entwickeln will. Stimmt das?

Ist es möglich, iPhone-Anwendungen unter Linux zu entwickeln? Wenn ja, was benötige ich und wo kann ich die erforderlichen Tools herunterladen?

1 Stimmen

2 Stimmen

Kann jemand dieses s/Linux/unix bearbeiten, um es zu verallgemeinern?

9 Stimmen

@GoodPerson Dann würden Sie die Grenze zwischen OS X und anderen Betriebssystemen verwischen, worum es in dieser Frage geht.

312voto

Alex Taylor Punkte 7013

Um eine abweichende Antwort zu geben, führe ich OS X und Xcode auf einer virtualisierten (VMware) Maschine unter Linux aus. CPU ist ein Core2Quad (Q8800), und es ist perfekt schnell. Ich fand eine vorgefertigte VM online (ich überlasse es Ihnen zu finden) Die Xcode/iPhone-Entwicklung funktioniert perfekt, ebenso wie das Debugging über USB am Telefon selbst.

Das hat mich wirklich sehr überrascht - aber ich hatte überhaupt keine Probleme.

11 Stimmen

Können Sie sie also nach Ihrem Konzept signieren und über iTunes verbreiten?

46 Stimmen

Jepp - keine Probleme. Sie verwenden XCode, das Signieren funktioniert gut, ich habe jetzt eine Produktions-App im Store, die von der VM aus eingereicht wurde. Ich werde sie aus offensichtlichen Gründen nicht nennen.

0 Stimmen

Ich habe eine VirtualBox-VM eingerichtet, die alles außer der USB-Verbindung übernimmt. Ich hoffe, ich muss nicht zu VMware wechseln.

76voto

GodEater Punkte 3205

Die Antwort auf diese Frage hängt davon ab, ob Sie Apps entwickeln wollen, die dann über den iPhone Store vertrieben werden. Wenn Sie das nicht wollen und es Ihnen nichts ausmacht, für die "jailbroken" iPhone-Gemeinde zu entwickeln, dann ist es möglich, unter Linux zu entwickeln.

Auf der Seite dieses Mannes finden Sie eine umfassende (wenn auch etwas komplizierte) Anleitung, was zu tun ist:

http://www.saurik.com/id/4

32voto

stephenbayer Punkte 12054

Bis jetzt scheint es zu stimmen. Das einzige von Apple verfügbare SDK zielt nur auf die macOS-Umgebung ab. Ich habe mich darüber geärgert, aber ich überlege jetzt, einen Mac zu kaufen, nur um iPhone-Entwicklung zu betreiben. Mir gefällt nicht, was sie tun, und ich hoffe, dass ein gutes SDK für andere Umgebungen, wie Linux und Windows, herauskommt.

Hindernisse bezüglich des SDK:

Das iPhone SDK und freie Software: keine Übereinstimmung

Apple hat vor kurzem ein Software Development Kit (SDK) für das iPhone veröffentlicht, aber wenn Sie gehofft haben, damit Open-Source-Software zu portieren oder zu entwickeln, gibt es keine guten Nachrichten. Code-Signierung und Geheimhaltungsvereinbarungen machen freie Software zu einem No-Go.

Das SDK selbst ist ein kostenloser Download, mit dem Sie Programme schreiben und auf einem Software-Simulator ausführen können. Um die von Ihnen geschriebene Software jedoch tatsächlich zu veröffentlichen, müssen Sie sich für das iPhone-Entwicklerprogramm anmelden - ein Schritt, der vom Herunterladen des SDK getrennt ist und der die Zustimmung von Apple erfordert.

Ich finde es ziemlich elitär, wenn sie glauben, dass nur macOS-Benutzer gut genug sind, um Programme für ihr Telefon zu schreiben, und die Tatsache, dass man eine 100-Dollar-Lizenz kaufen muss, wenn man seine Sachen veröffentlichen will, macht es für Hobby-Programmierer wirklich schwieriger. Obwohl, wenn es das ist, was Sie tun müssen, ich habe vor, durch ihre Reifen zu springen; Ich würde wirklich gerne einige Sachen auf meinem iPhone entwickelt.

9 Stimmen

Wie bereits gesagt wurde, glaube ich nicht, dass hier Elitismus im Spiel ist. XCode und der ganze Rest der Entwicklungswerkzeuge (mit Ausnahme von Low-Level-Elementen wie GCC) sind in Cocoa geschrieben, ebenso wie alle iPhone-Frameworks. Sie müssten all dies erst auf andere Betriebssysteme portieren. Das ist keine kleine Aufgabe.

0 Stimmen

Und selbst wenn es sich um Elitismus handelt, was soll's? Muss ich noch andere proprietäre Systeme aufzählen? Das ist gängige Praxis, wenn eine Produktlinie zum ersten Mal veröffentlicht wird.

26 Stimmen

Lassen Sie es mich wissen, wenn Microsoft Visual Studio für Linux und Mac veröffentlicht...

21voto

Johan Boulé Punkte 1676

Dort war früher ein Projekt zur Behebung dieses Fehlers: iphone-dev

Das Ziel des iphone-dev-Projekts ist es, eine freie, portable und qualitativ hochwertige Toolchain zu erstellen, die die Entwicklung für das Apple iPhone und andere eingebettete Geräte auf Basis der ARM/Darwin-Plattform ermöglicht.

4 Stimmen

Das Projekt scheint auf der Website nicht regelmäßig weiterentwickelt oder gewartet zu werden (z. B. sind die Wiki-Einträge zum Aufbau des Tools/zur Portabilität vom Februar 2010).

4 Stimmen

@Herr F, In der Tat ist es tot.

13voto

dljava Punkte 1775

Bezüglich der alternativen Toolkette ist Sauriks Website nützlich, aber für die neueste Firmware-Entwicklung empfiehlt er, auf dem iPhone selbst zu bauen, und weist nicht darauf hin, dass Sie möglicherweise die notwendigen iPhone-Firmware-Dateien in Ihre Linux-Umgebung kopieren müssen. Es ist nicht unmöglich, erfordert aber zusätzliche Arbeit, insbesondere für das Signieren des Codes (es gibt auch offene alternative Lösungen).

Werfen Sie auch einen Blick auf andere Leitfäden (für dieselbe Werkzeugkette), die methodischer vorgehen.

Ich würde vorschlagen, die endgültige Erstellung, das Signieren und Verpacken des Codes in XCode vorzunehmen (was bedeuten kann, dass Sie sich den Mac eines anderen ausleihen müssen), falls Sie bei der Einreichung der Anwendung bei Apple auf Probleme stoßen. Die Verwendung der alternativen Toolkette eröffnet (zumindest auf dem Mac) die Möglichkeit, andere IDEs als XCode für die Entwicklung der Anwendung zu verwenden und wieder auf XCode für die Bereitstellung und das Testen mit dem Simulator zurückzugreifen.

Wenn Sie die Code-Signierung/Zertifikatserstellung über die Befehlszeile außerhalb von XCode hinbekommen, können Sie natürlich ein Zertifikat auf Ihrem iPhone installieren und dort testen (indem Sie die App über iTunes mit Ihrem Zertifikat installieren).

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