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.