Können Sie Xcode unter Linux ausführen?

186

Können Sie Xcode unter Linux ausführen? Mac OS X basierte auf BSD Unix. Ist das also möglich?

Soweit ich gehört habe, gibt es ein MonoDevelop-Plugin mit einem iPhone-Simulator.

Mohit Deshpande
quelle
2
Ich denke, dies ist, was Sie suchen Apple veröffentlicht schnell, um xcode für Linux ios devs cnet.com/news/apple-introduces-swift-2
PauAI
Sie veröffentlichten schnell nicht Xcode.
Antzi
Immer noch nicht gut. Es ist nur so, dass die Sprache Open Source ist und unter Linux zusammen mit einer Standardbibliothek veröffentlicht wird. Es ist nicht beabsichtigt, iOS-Apps zu erstellen oder Xcode zu ersetzen. Eher machen Linux-Apps mit schnell. Dies würde natürlich die Arbeit von Leuten vereinfachen, die einen Cross-Compiler erstellen möchten.
Antzi

Antworten:

399

Die Low-Level-Toolchain für Xcode (die gcc-Compilerfamilie, der gdb-Debugger usw.) ist Open Source und für Unix- und Linux-Plattformen gleich. Die IDE - Editor, Projektmanagement, Indizierung, Navigation, Build-System, grafischer Debugger, visuelle Datenmodellierung, SCM-System, Refactoring, Projekt-Snapshots usw. - ist eine Mac OS X Cocoa-Anwendung und nicht portierbar.

cdespinosa
quelle
76
+1 ausgezeichnete kurze Aufschlüsselung dessen, was üblich ist und was Mac-zentriert ist
Curtisk
11
Ganz zu schweigen davon, dass die Ausführung auf einem anderen Betriebssystem wahrscheinlich gegen die EULA verstößt. Apple ist besonders geizig, wenn es um Lizenzvereinbarungen geht.
Jpaugh
1
Dies ist nicht 100% korrekt (oder aktuell). Standard-GCC kann keine Mach-O-Objektdateien erzeugen, Clang jedoch. Aber dann brauchen Sie noch Apples ld, um die endgültige Binärdatei zu verknüpfen. Darling kann die ursprüngliche Xcode-Toolchain unter Linux ausführen (jedoch nicht die Xcode-IDE).
LubosD
38

Noch hat niemand Vagrant vorgeschlagen , also hier ist es, Vagrant Box für OSX

vagrant init https://vagrant-osx.nyc3.digitaloceanspaces.com/osx-sierra-0.3.1.box
vagrant up

und Sie haben eine virtuelle MACOS-Maschine. Laut EULA von Apple müssen Sie es jedoch immer noch auf MacOS-Hardware ausführen: D Aber überall ist einer von allen Geeks, die MacOS gelöscht und Ubuntu: D installiert haben

Leider können Sie die Editoren nicht mit der SSH- X-forwardingOption von innen ausführen .

bbozo
quelle
3
Müssen Sie in der Lage sein, die GUI-Editoren auszuführen, um Apps mit Xcode zu erstellen, oder können Sie dies über die CLI tun?
Jose V
26

Ich wollte wirklich kommentieren, nicht antworten. Um genau zu sein, basiert OSX nicht auf BSD, sondern ist eine Weiterentwicklung von NeXTStep. Das NeXTStep-Betriebssystem verwendet den von der CMU entwickelten Mach-Kernel. Es wurde ursprünglich als MicroKernel entwickelt, aber aufgrund von Leistungsbeschränkungen entschieden sie schließlich, dass sie den Unix-Teil der API in den Kernel selbst und damit einen BSD-kompatiblen "Server" (ursprünglich zur Verarbeitung von Anforderungen für BSD-kompatibel) aufnehmen mussten Kernel-Nachrichten) wurde in den Kernel verschoben, wodurch er zu einem monolithischen Kernel wurde. Es ist möglicherweise BSD-kompatibel in der Programmier-API, aber es ist NICHT BSD.

Der Rest des Betriebssystems umfasste ObjectiveC (nach Absprache zwischen Stepstone und Richard Stallman von GNU / GCC) mit einer GUI, die auf einer Technologie namens "Display Postscript" basiert ... ähnlich einem X-Server, jedoch mit Postscript-Befehlen. OS X hat Display Postscript in PDF anzeigen geändert und die allgemeinen Hardwareanforderungen um das 1000-fache erhöht (NeXT kann in 8-16 MB ausgeführt werden, jetzt benötigen Sie GB).

Aufgrund der engen Verbindung von GCC und Objective C und NeXT besteht Ihre beste Möglichkeit, XCode nativ unter Linux auszuführen, darin, einen Port (wenn Sie die Quelle in den Griff bekommen - viel Glück) unter Verwendung der GNUStep-Bibliotheken zu erstellen. Ursprünglich für NextStep und dann für OpenStep-Kompatibilität entwickelt, habe ich gehört, dass sie jetzt mehr oder weniger Cocoa-kompatibel sind, aber ich habe seit fast zwei Jahrzehnten nicht mehr damit gespielt. Das bringt Sie natürlich nur bis zu ObjC, nicht bis Swift, und ich weiß nicht, ob Apple OpenSource verwenden wird.

Evan Langlois
quelle
9

Wenn Sie VMware Player oder Workstation (oder möglicherweise VirtualBox) ausführen, bin ich mir nicht sicher, ob es Mac OS X unterstützt, aber möglicherweise) und dann Mac OS X Server (Client kann legal nicht virtualisiert werden). In diesem Fall führen Sie natürlich XCode unter OS X aus, aber Ihr Host-Computer könnte Linux sein.

Ian
quelle
5
Es ist tatsächlich möglich, OS X in VirtualBox auszuführen. Ich laufe 10.8 Mountain Lion auf diese Weise. Sie müssen einem Howto folgen. Es funktioniert fast einwandfrei. Ich bin Däne, also musste ich mein eigenes Keybord-Layout erstellen.
Kristian Spangsege
3
Selbst Server können nur (legal) nur auf Apple Hardware virtualisiert werden. Ich denke, es wäre jedoch legal, Linux auf Apple-Hardware und dann Mac OS X als Gast auszuführen (obwohl ich nicht sicher bin, ob dies eine attraktive Option ist). @KristianSpangsege: Ich bin froh zu hören, dass es unter VirtualBox für Sie läuft ... Ich habe ungefähr 5 verschiedene Versionen installiert und alle waren sehr langsam. Ich dachte, es sei ein Problem mit allen virtualisierten MacOSXs, bis ich zu VMware wechselte ... fast keine Probleme (gelegentlich tritt immer noch eine kurze Verlangsamung auf).
Johndodo
7

Wenn Sie für einen anständigen Mac nicht Tausende von Dollar bezahlen können, gibt es eine Option, um OSX und XCode in der Cloud auszuführen:

http://www.macincloud.com/

Roman Kagan
quelle
4

Ich denke, Sie benötigen MonoTouch (nicht kostenlos!) Für dieses Plugin.

Und nein, es gibt keine Möglichkeit, Xcode unter Linux auszuführen.

Entschuldigung für all die schlechten Nachrichten. :) :)

andyvn22
quelle
2

Nein, Sie haben von MonoTouch gehört, einer .NET / Mono-Umgebung für die iPhone-Entwicklung. Sie benötigen jedoch noch einen Mac und das offizielle iPhone SDK. Und der Emulator ist der offizielle Apple-Emulator. Dies fungiert als separate IDE und ermöglicht es Ihnen, nicht in Ziel C zu codieren, sondern in c # zu codieren

Es ist ein interessantes Projekt, um es gelinde auszudrücken ...

EDIT: Anscheinend können Sie jetzt im App Store verteilen, früh war das ein No Go ....

Curtisk
quelle
1

Am einfachsten ist es, eine VM mit einer OSX-Kopie auszuführen.

Hedron Dantas
quelle
0

Wenn Sie XCode auf einem anderen Betriebssystem verwenden möchten, empfehle ich Cloud Computing. Auf diese Weise wird Ihre App auf einem Mac entwickelt und kann an den App Store gesendet werden.

Josh Guyette
quelle
0

Wenn Sie Xcode wirklich unter Linux verwenden möchten, können Sie Virtual Box herunterladen und Hackintosh auf einer VM installieren.

https://hackintosh.com/

RK_DUDE02
quelle
0

Es war seltsam, dass niemand KVM vorschlug .

Es bietet Ihnen fast native Leistung und ist in Linux integriert. Geh und schau es dir an.

Sie werden das Gefühl haben, dass Sie nur einen Mac verwenden und dann Xcode dort installieren. Sie können sich sogar dafür entscheiden, beim Start direkt in die OSX-GUI anstatt in Linux zu booten

Praveen Shahi
quelle
-2

OSX basiert auf BSD , nicht auf Linux. Sie können Xcode nicht auf einem Linux-Computer ausführen.

rfunduk
quelle
1
Es hat nichts damit zu tun, welcher Kernel ausgeführt wird. Und MacOS basiert kaum auf BSD, siehe meine Antwort oben für die Geschichte
Evan Langlois