Puoi eseguire Xcode in Linux?


186

Puoi eseguire Xcode in Linux? Mac OS X era basato su BSD Unix, quindi è possibile?

Da quello che ho sentito, c'è un plugin MonoDevelop che ha un simulatore di iPhone.


2
Penso che questo sia quello che stai cercando per Apple rilasciato rapidamente per sostituire xcode per ios devs di
PauAI

Hanno rilasciato rapidamente non Xcode.
Antzi,

Ancora non va bene. È solo che il linguaggio è open source e pubblicato su Linux insieme a una libreria standard. Non ha lo scopo di creare app iOS o sostituire Xcode. Ad altri piace creare rapidamente app per Linux. Naturalmente questo semplificherebbe il lavoro delle persone che vogliono creare un compilatore incrociato.
Antzi,

Risposte:


399

La toolchain di basso livello per Xcode (la famiglia di compilatori gcc, il debugger gdb, ecc.) È tutta open source e comune alle piattaforme Unix e Linux. Ma l'IDE - l'editor, la gestione del progetto, l'indicizzazione, la navigazione, il sistema di compilazione, il debugger grafico, la modellazione di dati visivi, il sistema SCM, il refactoring, le istantanee del progetto, ecc. - è un'applicazione Mac OS X Cocoa e non è portatile.


76
+1 eccellente breve analisi di ciò che è comune e di ciò che è mac centric
curtisk

11
Per non parlare del fatto che eseguirlo su un altro sistema operativo probabilmente rompe il suo EULA. Apple è particolarmente avara quando si tratta di accordi di licenza.
jpaugh

1
Questo non è corretto al 100% (o aggiornato). GCC standard non può produrre file oggetto Mach-O, ma Clang può farlo. Ma poi hai ancora bisogno di Apple per collegare il binario finale. Cara può eseguire la toolchain Xcode originale su Linux (ma non XE IDE).
LubosD,

38

Nessuno ha ancora suggerito Vagrant , quindi eccolo qui, Vagrant box per OSX

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

e hai una macchina virtuale MACOS. Ma secondo l'EULA di Apple, devi ancora eseguirlo su hardware MacOS: D Ma ovunque, ecco uno per tutti voi fanatici che hanno cancellato MacOS e installato Ubuntu: D

Sfortunatamente, non è possibile eseguire gli editor dall'interno utilizzando l' X-forwardingopzione SSH .


3
Devi essere in grado di eseguire gli editor della GUI per creare app con Xcode o puoi farlo dalla CLI?
Jose V,

26

Volevo davvero commentare, non rispondere. Ma per essere precisi, OSX non si basa su BSD, è un'evoluzione di NeXTStep. Il sistema operativo NeXTStep utilizza il kernel Mach sviluppato da CMU. Originariamente era progettato come MicroKernel, ma a causa di vincoli di prestazione, alla fine decisero di dover includere la parte Unix dell'API nel kernel stesso e quindi un "server" compatibile con BSD (originariamente destinato a elaborare richieste per BSD compatibile messaggi del kernel) è stato spostato nel kernel, rendendolo un kernel monolitico. Potrebbe essere compatibile con BSD nell'API di programmazione, ma NON è BSD.

Il resto del sistema operativo riguardava ObjectiveC (in base agli accordi tra Stepstone e Richard Stallman di GNU / GCC) con una GUI basata su una tecnologia chiamata "Display Postscript" ... un po 'come un X Server, ma con comandi postscript. OS X ha cambiato Display Postscript in Display PDF e ha aumentato i requisiti hardware generali di 1000 volte (NeXT potrebbe funzionare in 8-16 MB, ora sono necessari GB).

A causa della stretta unione di GCC e Objective C e NeXT, la soluzione migliore per eseguire XCode in modo nativo su Linux sarebbe quella di fare una porta (se riesci a trovare la fonte - buona fortuna) utilizzando le librerie GNUStep. Originariamente progettato per NextStep e poi per la compatibilità OpenStep, ho sentito che ora sono più o meno compatibili con Cocoa, ma non ci gioco da quasi due decenni. Naturalmente questo ti porta solo fino a ObjC, non a Swift, e non so se Apple sta per OpenSource.


9

Se esegui VMware Player o Workstation (o forse VirtualBox, non sono sicuro che supporti Mac OS X, ma potrebbe), quindi Mac OS X Server (il client non può essere virtualizzato legalmente). Naturalmente, in questo caso stai eseguendo XCode su OS X, ma la tua macchina host potrebbe essere linux.


5
È infatti possibile eseguire OS X all'interno di VirtualBox. Corro 10.8 Mountain Lion in questo modo. Devi seguire un howto. Funziona quasi perfettamente. Sono danese, quindi ho dovuto costruire il mio layout del keybord.
Kristian Spangsege,

3
Anche il server può essere (legalmente) virtualizzato solo su hardware Apple; Penso che sarebbe legale comunque eseguire Linux su hardware Apple e quindi Mac OS X come suo ospite (anche se non sono sicuro che questa sia un'opzione interessante). @KristianSpangsege: felice di sapere che funziona su VirtualBox ... Ho installato circa 5 versioni diverse e tutte sono state molto lente. Ho pensato che fosse un problema con tutti i MacOSX virtualizzati fino a quando non sono passato a VMware ... quasi nessun problema lì (si verificano ancora brevi rallentamenti occasionali).
johndodo,


4

Penso che tu abbia bisogno di MonoTouch (non gratuito!) Per quel plugin.

E no, non c'è modo di eseguire Xcode su Linux.

Ci scusiamo per tutte le cattive notizie. :)


2

No, hai sentito parlare di MonoTouch che è un ambiente .NET / mono per lo sviluppo di iPhone. Ma hai ancora bisogno di un Mac e dell'SDK ufficiale per iPhone. E l'emulatore è quello ufficiale di Apple, questo funge da IDE separato e ti consente di non dover codificare nell'Obiettivo C, piuttosto che codificare in c #

È un progetto interessante per non dire altro ...

EDIT: a quanto pare, puoi distribuire su app store ora, all'inizio era un no ....



0

Se vuoi XCode su un altro sistema operativo, suggerisco il cloud computing. In questo modo la tua app viene sviluppata su un Mac e può essere inviata all'App Store.



0

Era strano che nessuno suggerisse KVM .

Ti fornirà prestazioni quasi native ed è Linux integrato. Vai e controlla.

ti sentirai come se stessi usando solo mac e quindi installi Xcode lì potresti anche scegliere di avviare direttamente la GUI di OSX invece di quella di Linux all'avvio


-2

OSX è basato su BSD , non su Linux. Non è possibile eseguire Xcode su un computer Linux.


1
Non ha nulla a che fare con il kernel in esecuzione. E MacOS non è quasi "basato su BSD", vedi la mia risposta sopra per la storia
Evan Langlois,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.