Czy potrafisz uruchomić Xcode w systemie Linux?

186

Czy potrafisz uruchomić Xcode w systemie Linux? Mac OS X został oparty na BSD Unix, więc czy to możliwe?

Z tego, co słyszałem, jest wtyczka MonoDevelop, która ma symulator iPhone'a.

Mohit Deshpande
źródło
2
Myślę, że to jest to, czego szukasz Apple wydało Swift zastąpić Xcode dla linux ios DEVS cnet.com/news/apple-introduces-swift-2
PauAI
Wydali szybkie, nie Xcode.
Antzi
Wciąż nie dobrze. Po prostu język jest open source i opublikowany w systemie Linux wraz ze standardową biblioteką. Nie ma na celu tworzenia aplikacji na iOS ani zastępowania Xcode. Bardziej lubisz tworzyć aplikacje dla systemu Linux z szybkością. Oczywiście uprościłoby to pracę osobom chcącym stworzyć kompilator krzyżowy.
Antzi

Odpowiedzi:

399

Niski poziom zestawu narzędzi dla Xcode (rodzina kompilatorów gcc, debugger gdb itp.) Jest oprogramowaniem typu open source i jest wspólny dla platform Unix i Linux. Ale IDE - edytor, zarządzanie projektami, indeksowanie, nawigacja, system kompilacji, graficzny debugger, wizualne modelowanie danych, system SCM, refaktoryzacja, migawki projektu itp. - jest aplikacją Mac OS X Cocoa i nie jest przenośna.

cdespinosa
źródło
76
+1 doskonały krótki podział na to, co powszechne, a co na Mac-centric
Curtisk
11
Nie wspominając o tym, że uruchamianie go w innym systemie operacyjnym prawdopodobnie łamie jego umowę licencyjną. Apple jest szczególnie skąpy, jeśli chodzi o umowy licencyjne.
jpaugh,
1
To nie jest w 100% poprawne (lub aktualne). Standardowy GCC nie może tworzyć plików obiektów Mach-O, ale Clang potrafi. Ale nadal potrzebujesz ld Apple'a, aby połączyć ostatni plik binarny. Kochanie może uruchomić oryginalny łańcuch narzędzi Xcode w systemie Linux (ale nie XE IDE).
LubosD
38

Nikt jeszcze nie zasugerował Vagrant , więc oto Vagrant box dla OSX

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

i masz maszynę wirtualną MACOS. Ale zgodnie z umową licencyjną Apple'a, nadal musisz uruchomić ją na sprzęcie MacOS: D Ale wszędzie, tutaj jest jeden dla wszystkich maniaków, którzy wyczyścili MacOS i zainstalowali Ubuntu: D

Niestety nie można uruchomić edytorów od wewnątrz przy użyciu X-forwardingopcji SSH .

bbozo
źródło
3
Czy musisz mieć możliwość uruchamiania edytorów GUI, aby tworzyć aplikacje za pomocą Xcode, czy można to zrobić z poziomu interfejsu CLI?
Jose V
26

Naprawdę chciałem komentować, a nie odpowiadać. Ale dla ścisłości OSX nie jest oparty na BSD, jest to ewolucja NeXTStep. NeXTStep OS wykorzystuje jądro Mach opracowane przez CMU. Został pierwotnie zaprojektowany jako MicroKernel, ale ze względu na ograniczenia wydajności ostatecznie zdecydowali, że muszą włączyć uniksową część API do samego jądra, a więc „serwera” kompatybilnego z BSD (pierwotnie przeznaczony do przetwarzania żądań zgodnych z BSD wiadomości jądra) został przeniesiony do jądra, co czyni go monolitycznym jądrem. Może być kompatybilny z BSD w API do programowania, ale NIE jest to BSD.

Reszta systemu operacyjnego obejmowała ObjectiveC (w ramach uzgodnień między Stepstone i Richardem Stallmanem z GNU / GCC) z GUI opartym na technologii o nazwie „Display Postscript” ... podobnie jak X Server, ale z poleceniami PostScript. OS X zmienił Display Postscript na Display PDF i zwiększył ogólne wymagania sprzętowe 1000 razy (NeXT może działać w 8-16 MB, teraz potrzebujesz GB).

Ze względu na bliskie powiązanie GCC oraz Objective C i NeXT, najlepszym rozwiązaniem, aby uruchomić XCode natywnie pod Linuksem, byłoby zrobienie portu (jeśli można uzyskać dostęp do źródła - powodzenia) przy użyciu bibliotek GNUStep. Pierwotnie zaprojektowany pod kątem zgodności z NextStep, a następnie OpenStep, słyszałem, że teraz są one mniej lub bardziej kompatybilne z kakao, ale nie grałem z nimi od prawie 2 dekad. Oczywiście to prowadzi cię tylko do ObjC, a nie do Swift, i nie wiem, czy Apple zamierza to OpenSource.

Evan Langlois
źródło
9

Jeśli uruchomisz VMware Player lub stację roboczą (a może VirtualBox, nie jestem pewien, czy obsługuje Mac OS X, ale może), a następnie serwer Mac OS X Server (klient nie może być legalnie zwirtualizowany). Oczywiście w tym przypadku używasz XCode w systemie OS X, ale maszyną hosta może być Linux.

Ian
źródło
5
Rzeczywiście możliwe jest uruchomienie OS X w VirtualBox. W ten sposób biegnę 10,8 Mountain Lion. Musisz postępować zgodnie z howto. Działa prawie bezbłędnie. Jestem Duńczykiem, więc musiałem zbudować własny układ klawiszy.
Kristian Spangsege
3
Nawet serwer może być (legalnie) zwirtualizowany tylko na sprzęcie Apple; Myślę jednak, że legalne byłoby uruchamianie Linuksa na sprzęcie Apple, a następnie Mac OS X jako jego gości (choć nie jestem pewien, czy jest to atrakcyjna opcja). @KristianSpangsege: Cieszę się, że działa dla ciebie pod VirtualBox ... Zainstalowałem około 5 różnych wersji i wszystkie były bardzo wolne. Myślałem, że to problem ze wszystkimi zwirtualizowanymi MacOSX-ami, dopóki nie przełączyłem się na VMware ... prawie nie ma tam żadnych problemów (nadal występują sporadyczne krótkie spowolnienia).
johndodo
7

Jeśli nie możesz wydać tysięcy dolarów na porządnego Maca, istnieje możliwość uruchomienia OSX i XCode w chmurze:

http://www.macincloud.com/

Roman Kagan
źródło
4

Myślę, że potrzebujesz MonoTouch (nie za darmo!) Do tej wtyczki.

I nie, nie ma sposobu na uruchomienie Xcode na Linuksie.

Przepraszam za wszystkie złe wiadomości. :)

andyvn22
źródło
2

Nie, słyszałeś o MonoTouch który jest środowiskiem .NET / mono dla rozwoju iPhone'a. Ale nadal potrzebujesz komputera Mac i oficjalnego iPhone SDK. I emulator jest oficjalnym jabłkowym, działa to jako osobne IDE i pozwala nie musieć kodować w Celu C, a raczej kodować w c #

To co najmniej interesujący projekt ...

EDYCJA: najwyraźniej możesz teraz dystrybuować w sklepie z aplikacjami, wcześnie było to niemożliwe ...

Curtisk
źródło
1

Najłatwiejszą opcją jest uruchomienie maszyny wirtualnej z kopią OSX.

Hedron Dantas
źródło
0

Jeśli chcesz XCode na innym systemie operacyjnym, sugeruję przetwarzanie w chmurze. W ten sposób twoja aplikacja jest rozwijana na komputerze Mac i może zostać przesłana do App Store.

Josh Guyette
źródło
0

Jeśli naprawdę chcesz używać Xcode na Linuksie, możesz pobrać Virtual Box i zainstalować Hackintosha na maszynie wirtualnej.

https://hackintosh.com/

RK_DUDE02
źródło
0

Dziwne, że nikt nie sugerował KVM .

Zapewni Ci niemal natywną wydajność i jest wbudowanym systemem Linux. Idź i sprawdź to.

poczujesz, że używasz tylko Maca, a następnie zainstaluj Xcode, możesz nawet wybrać bezpośrednie uruchomienie do GUI OSX zamiast Linuksa podczas uruchamiania

praveen shahi
źródło
-2

OSX jest oparty na BSD , a nie Linux. Nie można uruchomić Xcode na komputerze z systemem Linux.

rfunduk
źródło
1
Nie ma to nic wspólnego z działającym jądrem. A MacOS nie jest „oparty na BSD”, zobacz moją odpowiedź powyżej dotyczącą historii
Evan Langlois,