Ich habe gehört, dass Sie einen Mac benötigen, wenn Sie iPhone-Apps entwickeln möchten. Ist das wahr?
Ist es möglich, iPhone Apps unter Linux zu entwickeln? Wenn ja, was brauche ich und wo lade ich die erforderlichen Tools herunter?
Ich habe gehört, dass Sie einen Mac benötigen, wenn Sie iPhone-Apps entwickeln möchten. Ist das wahr?
Ist es möglich, iPhone Apps unter Linux zu entwickeln? Wenn ja, was brauche ich und wo lade ich die erforderlichen Tools herunter?
Antworten:
Um eine unterschiedliche Antwort zu erhalten, führe ich OS X und Xcode auf einem virtualisierten (VMware) Computer unter Linux aus. Die CPU ist ein Core2Quad (Q8800) und sehr schnell. Ich habe eine vorgefertigte VM online gefunden (ich überlasse es Ihnen, sie zu finden). Die Xcode / iPhone-Entwicklung funktioniert einwandfrei, ebenso wie das Debuggen über USB auf dem Telefon.
Es hat mich wirklich sehr überrascht - aber ich hatte überhaupt keine Probleme.
Die Antwort darauf hängt wirklich davon ab, ob Sie Apps entwickeln möchten, die dann über den iPhone Store verteilt werden. Wenn Sie dies nicht tun und es Ihnen nichts ausmacht, für die iPhone-Masse mit "Jailbreak" zu entwickeln, können Sie unter Linux entwickeln.
Auf der Seite dieses Jungen finden Sie eine umfassende (wenn auch etwas komplexe) Anleitung, was zu tun ist:
Bisher scheint es wahr zu sein. Das einzige von Apple verfügbare SDK zielt nur auf die MacOS-Umgebung ab. Ich war darüber verärgert, aber ich möchte jetzt einen Mac kaufen, nur um das iPhone zu entwickeln. Ich mag es wirklich 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: kein Match
Apple hat kürzlich ein Software Development Kit (SDK) für das iPhone veröffentlicht. Wenn Sie jedoch gehofft haben, Original-Open-Source-Software damit zu portieren oder zu entwickeln, sind die Nachrichten nicht gut. Codesignatur und Geheimhaltungsbedingungen 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 tatsächlich freizugeben, müssen Sie sich beim iPhone Developer Program anmelden - ein Schritt, der vom Herunterladen des SDK getrennt ist und der von Apple genehmigt werden muss.
Ich denke, es ist ziemlich elitär für sie zu glauben, dass nur Macos-Benutzer gut genug sind, um Programme für ihr Telefon zu schreiben, und die Tatsache, dass Sie eine 100-Dollar-Lizenz kaufen müssen, wenn Sie Ihre Inhalte veröffentlichen möchten, macht es für den Hobby-Programmierer wirklich schwieriger. Wenn Sie das tun müssen, habe ich vor, durch ihre Reifen zu springen. Ich würde wirklich gerne ein paar Sachen auf meinem iPhone entwickeln lassen.
Es verwendet zu sein , ein Projekt , diesen Mangel gewidmet zu lösen: iphone-dev
Ziel des iphone-dev-Projekts ist es, eine kostenlose, tragbare und qualitativ hochwertige Toolchain zu erstellen, die die Entwicklung für das Apple iPhone und andere eingebettete Geräte auf der Basis der ARM / Darwin-Plattform ermöglicht.
In Bezug auf die alternative Toolkette ist die Website von Saurik nützlich, aber für die neueste Firmware-Entwicklung gibt er an, auf dem iPhone selbst aufzubauen, und gibt nicht an, dass Sie möglicherweise die erforderlichen iPhone-Firmware-Dateien in Ihre Linux-Umgebung kopieren müssen. Es ist nicht unmöglich, sondern erfordert nur zusätzliche Arbeit, insbesondere zum Signieren des Codes (es gibt auch offene alternative Lösungen).
Schauen Sie sich auch andere Anleitungen (für dieselbe Werkzeugkette) an, die methodischer vorgehen.
Ich würde vorschlagen, die endgültige Erstellung und Signierung und Verpackung des Codes in XCode durchzuführen (was bedeuten kann, dass Sie sich einen Mac ausleihen), falls Sie beim Einreichen 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 für die Bereitstellung und das Testen mit dem Simulator erneut auf XCode zurückzugreifen.
Wenn die Codesignatur / Zertifikatserstellung über die Befehlszeile außerhalb von XCode funktioniert, können Sie natürlich ein Zertifikat auf Ihrem tatsächlichen iPhone installieren und dort testen (Installation der App über iTunes mit Ihrem Zertifikat).
Die einzige Möglichkeit, die Entwicklung unter Linux für das iPhone durchzuführen, besteht darin, VMware zu installieren und daran zu arbeiten, OS X in einer virtuellen Maschine zum Laufen zu bringen. Trotzdem gibt es dabei einige "rechtliche" Bedenken. Es wird berichtet, dass OS X Server virtualisiert werden kann, aber was die Entwicklungsgeschichte betrifft, weiß ich nicht.
Wenn Sie es wirklich ernst meinen, würde ich das untersuchen.
Viel Glück.
Sie können Tersus (Open Source) verwenden und die App als Xcode-Projekt exportieren.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Es wird also nicht möglich sein, eine native iOS-App zu erstellen und zu signieren
Möglicherweise können Sie Code auf einer Linux-Box schreiben, die sich irgendwann auf einem iPhone oder iPad befindet. Letztendlich benötigen Sie jedoch einen Mac, um den Code zu testen oder auf dem iPhone bereitzustellen oder an den App Store zu senden. Letztendlich benötigen Sie also einen Mac, sodass Sie die Arbeit auch auf dem Mac mit allen von Apple bereitgestellten Tools erledigen können. Es gibt Alternativen zu Xcode & Objective-C wie Monotouch - aber diese verwenden auch die Apple-Tools.
Mit etwas Arbeit können Sie OS X in einer VM unter Linux ausführen. Ich möchte jedoch darauf hinweisen, dass dies die OSX-Lizenzvereinbarung verletzt, selbst wenn Sie die Kopie von OSX kaufen - da diese nur für die Ausführung auf Apple-Hardware lizenziert ist.
Es tut uns leid, Ihnen diese Neuigkeiten zukommen zu lassen - das Ökosystem rund um das iPhone / iPad wird sehr streng kontrolliert.
BEARBEITEN: Eine wichtige Ausnahme ist das Schreiben einer Web-App für das iPhone. Es gibt einige hervorragende Web-Apps für das iPhone, die fast so gut sind wie die Benutzererfahrung einer nativen App. Ich habe Ihre Frage jedoch so interpretiert, dass sie sich auf die native App-Entwicklung bezieht. Web-Apps sind, obwohl der Benutzer ein Symbol zum Starten erstellen kann, immer noch Bürger zweiter Klasse.
Ich hatte Erfolg beim Erstellen von iOS-Apps unter Linux mit dem iOS-Clang-Toolchain von cjacker . Grundsätzlich besteht es aus den Upstream-Clang- und llvm-Tools Ihrer Linux-Distribution, einem Linux-Port des Apple-Linkers und einigen zusätzlichen Tools zur Vereinfachung des Erstellungsprozesses (z. B. Konvertieren von Xcode-Projekten in das Makefile-Format).
Die Installation dauert einige Schritte, aber Sie sind ein Softwareentwickler, sodass Sie daran gewöhnt sind. Ich habe ein aktuelles Howto für Debian 7 (Wheezy) online gestellt:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Ansonsten möchten Sie mit den allgemeinen Anweisungen gehen, die etwas älter sind:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Viel Glück.
Es gibt ein Framework namens Rhodes .
Das Konzept basiert auf Ruby on Rails. Sie entwickeln Ihre mobile App in Ruby und HTML und können Ihren Code in einer Linux-Umgebung schreiben. Anschließend können Sie bei Rhohub ein Konto erstellen , in dem Sie den Code (über GitHub ) hinzufügen und ihn für iPhone, Blackberry, Android, Windows Mobile und Symbian mit demselben Code kompilieren. Sie müssen weder in Objective-C für iPhone noch in Java für Android usw. codieren. Es führt die Konvertierungen für Sie durch. Sie müssen sich lediglich an die Regeln zum Erstellen einer iPhone-Anwendung (oder der Telefone, für die Sie entwickeln möchten) halten, damit diese bei iTunes (oder einem gleichwertigen Markt) akzeptiert werden kann.
Auf diese Weise können Sie die App auch zu iTunes hinzufügen.
Ich habe jedoch keine Emulatoren gefunden, was bedeutet, dass Sie Ihre App zum Testen auf ein iPhone stellen müssen, was eine Mission ist.
Ich verwende diese Option, da ich Apps für alle Telefone erstellen möchte und Ruby on Rails bereits verwende. Wenn Sie nur eine App für ein iPhone erstellen möchten, investieren Sie in einen Mac.
Hoffe das hilft.
Sie haben Recht, Telefone ohne Jailbreak sind auf den App Store von Apple beschränkt, und Apple "hat das Recht", alle Regeln durchzusetzen. Es ist völlig unfrei. Während der Entwicklung muss man sich jedoch überhaupt nicht mit Apple auseinandersetzen. Sie können zB rsync verwenden, um den Code auf das Gerät hochzuladen und zu testen.
Bis zu einem gewissen Grad ist es ja möglich. Sie können Objective-C-Code eingeben und Ihre Projekte einrichten. Sie können sogar die C- und C ++ - Teile Ihres Codes mit gcc testen.
Was Sie nicht tun können:
Sie müssen Mac dafür bekommen. Es stehen mehrere Toolketten zur Verfügung (z. B. Win-Chain), mit denen Sie i Phone-Anwendungen unter Windows schreiben und erstellen können. Es gibt mehrere zugehörige Tutorials zum Erstellen des Objective C-Codes unter Windows. Es gibt jedoch ein Problem. Die so entwickelten Apps funktionieren nur auf Jail Broken i Phones.
Wir haben nur wenige Hacks gesehen, um darüber hinwegzukommen und es in den App Store zu schaffen, aber da Apple weiterhin SDKs aktualisiert, müssen Toolketten regelmäßig aktualisiert werden. Es ist mühsam, es immer wieder gut zu machen. Wenn Sie eine App fertig machen möchten, können Sie auch Hilfe von arcapps in Anspruch nehmen, das Apps zu einem vernünftigen Preis startet. iPhone App Entwicklung
Ich habe versucht, cocos2d-iphone auf GNUstep zu portieren, damit Sie ein Spiel entwickeln können , das auf cocos2d basiert. Zum Veröffentlichen benötigen Sie jedoch einen Mac. cocos2d-GNUstep .
Ich würde empfehlen, einen Mac zu kaufen, da der iOS-Simulator hervorragend zum Testen in den frühen Phasen einer App geeignet ist. Aber ich kenne eine kleine Firma, mit der wir zusammenarbeiten und die sich mit Unity entwickelt, sodass sie keine Macs benötigen. Auf diese Weise benötigen sie nur einen Mac für das Büro, um den endgültigen Build zu kompilieren. Es bedeutet auch, dass es auf Android funktioniert, aber es hängt wirklich davon ab, was Ihr Gebäude ist, weil es eine Spiele-Engine ist. Möglicherweise möchten Sie Web-Apps mit Frameworks wie Sencha Touch Mobile untersuchen
Einheit: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Wenn Sie Ihre Zeit schätzen, kaufen Sie einen Mac! Ich weiß nicht genug über Linux-Entwicklungsoptionen, um eine praktikable Lösung anzubieten, aber es scheint, dass die vorgeschlagenen Methoden einige ziemlich umständliche Arbeiten beinhalten. Wenn Sie ernsthaft iPhone-Apps schreiben und verkaufen möchten, können Sie die Kosten für einen Mac Mini oder ein Macbook leicht amortisieren. :-)
Sie werden Ihre App niemals von Apple genehmigen lassen, wenn sie nicht mit Xcode entwickelt wurde. Noch nie. Und wenn Sie das SDK hacken, um es unter Linux zu entwickeln, und Apple es herausfindet, wundern Sie sich nicht, wenn Sie bedient werden. Ich bin Mitglied des ADC- und des iPhone-Entwicklerprogramms. Vertrauen Sie, Apple meint es sehr ernst.
Gehen Sie kein Risiko ein, kaufen Sie ein Macbook oder einen Mac mini (ja, ein Mini kann Xcode ausführen - wenn auch langsam - und erhöhen den Arbeitsspeicher, wenn Sie sich für den Mini entscheiden). Während ich gesehen habe, wie OS X gehackt wurde, um auf VMware ausgeführt zu werden, habe ich noch nie jemanden gesehen, der Xcode auf VM ausführt. Also viel Glück. Und ich würde die EULA überprüfen, bevor Sie sich die Mühe machen.
PS: Nachdem ich das Obige gelesen habe, stimme ich zu. Wenn Sie das SDK hacken und unter Linux entwickeln, machen Sie zumindest die endgültige Verpackung auf einem Mac. Und senden Sie es über einen Mac. Apple durchläuft den Code nicht Zeile für Zeile, daher bezweifle ich, dass sie das verstehen würden. Aber Mann, das ist viel Wenn und Arbeit. Sei aber lustig. :) :)