Чи можете ви запустити Xcode в Linux?


186

Чи можете ви запустити Xcode в Linux? Mac OS X базувався на BSD Unix, так чи це можливо?

З того, що я чув, є плагін MonoDevelop, який має імітатор iPhone.


2
Я думаю, це те, що ви шукаєте, коли Apple випустила швидку заміну xcode для linux ios devs cnet.com/news/apple-introduces-swift-2
PauAI

Вони випустили швидкий не Xcode.
Анци

Ще не добре. Просто мова є відкритим кодом і публікується в Linux разом зі стандартною бібліотекою. Він не призначений для створення додатків для iOS або заміни Xcode. Більше подобається швидко робити програми для Linux. Звичайно, це спростить роботу людей, які хочуть зробити компілятор крос.
Анци

Відповіді:


399

Низький рівень інструментальних ланцюгів для Xcode (сімейство компіляторів gcc, налагоджувач gdb тощо) - це все з відкритим кодом та загальне для платформ Unix та Linux. Але IDE - редактор, управління проектами, індексація, навігація, система збирання, графічний налагоджувач, моделювання візуальних даних, система SCM, рефакторинг, знімки проектів тощо - це додаток для какао Mac OS X і не є портативним.


76
+1 відмінна коротка розбивка того, що є загальним, а що є мак-орієнтованим
curtisk

11
Не кажучи вже про те, що запуск його в іншій ОС, ймовірно, порушує його EULA. Apple особливо скупий, коли мова йде про ліцензійні угоди.
jpaugh

1
Це не на 100% правильно (або на сьогоднішній день). Стандартний GCC не може створювати файли об'єктів Mach-O, але Clang може. Але тоді вам все ще потрібен ld Apple, щоб зв’язати кінцевий бінарний файл. Дарлінг може запускати оригінальну ланцюжок інструментів Xcode в Linux (але не Xcode IDE).
ЛюбосД

38

Ніхто ще не запропонував Vagrant , тож ось він, Vagrant box для OSX

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

і у вас віртуальна машина MACOS. Але згідно з даними EULA від Apple, вам все-таки потрібно запустити його на апаратному забезпеченні MacOS: D Але де завгодно, ось один з усіх вундеркіндів, які стерли MacOS та встановили Ubuntu: D

На жаль, ви не можете запустити редактори зсередини, використовуючи X-forwardingопцію SSH .


3
Чи потрібно мати змогу запускати редактори графічного інтерфейсу, щоб створювати програми з Xcode або це можна зробити з CLI?
Хосе V

26

Мені дуже хотілося коментувати, а не відповідати. Але якщо бути точним, OSX не базується на BSD, це еволюція NeXTStep. ОС NeXTStep використовує ядро ​​Mach, розроблене CMU. Спочатку він був розроблений як MicroKernel, але через обмеження продуктивності вони врешті вирішили, що потрібно включити Unix частину API в саме ядро ​​і так BSD-сумісний "сервер" (спочатку призначений для обробки запитів на сумісний з BSD) повідомлення ядра) було переміщено в ядро, що зробило його монолітним ядром. Він може бути сумісним з BSD в API програмування, але це НЕ BSD.

Решта ОС брала участь у ObjectiveC (за домовленостями між Степстоуном та Річардом Сталлманом з GNU / GCC) з графічним інтерфейсом, заснованим на технології, що називається "Display Postcript" ... на зразок X-сервера, але з командами постскрипту. OS X змінила Display Postscript на PDF, що відображається, і збільшила загальні вимоги до апаратного забезпечення в 1000 разів (NeXT може працювати в 8-16 МБ, зараз вам потрібно GB).

Через тісний шлюб GCC та Objective C і NeXT, найкращим варіантом для запуску XCode, створеного на базі Linux, було б зробити порт (якщо ви зможете отримати джерело - удача), використовуючи бібліотеки GNUStep. Спочатку розроблений для NextStep, а потім OpenStep сумісності, я чув, що вони тепер більш-менш сумісні з какао, але я не грав ні з одним майже два десятиліття. Звичайно, це стосується вас лише ObjC, а не Swift, і я не знаю, чи Apple збирається відкривати його.


9

Якщо ви запускаєте програвач VMware Player або Workstation (або, можливо, VirtualBox, я не впевнений, чи підтримує він Mac OS X, але можливо), а потім сервер Mac OS X (клієнт не може бути віртуалізований юридично). Звичайно, у цьому випадку ви використовуєте XCode на OS X, але ваша хост-машина може бути linux.


5
Дійсно запустити OS X всередині VirtualBox. Я бігаю таким чином 10,8 гірського лева. Ви маєте дотримуватися способу. Це працює майже бездоганно. Я датчанин, тому мені довелося створити власний макет клавіатури.
Крістіан Спангсеге

3
Навіть сервер можна (юридично) віртуалізувати лише на апаратному забезпеченні Apple; Я думаю, що було б законно запустити Linux на апаратному забезпеченні Apple, а потім Mac OS X як його гостя (хоча я не впевнений, що це привабливий варіант). @KristianSpangsege: рада почути, що він працює для вас під VirtualBox ... Я встановив близько 5 різних версій, і всі були дуже повільними. Я думав, що це проблема з усіма віртуалізованими MacOSX, поки я не перейшов на VMware ... майже ніяких проблем там немає (іноді спостерігається коротке уповільнення).
johndodo


4

Я думаю, вам потрібен MonoTouch (не безкоштовний!) Для цього плагіна.

І ні, немає можливості запустити Xcode в Linux.

Вибачте за всі погані новини. :)


2

Ні, ви чули про MonoTouch, який є .NET / моно середовищем для розробки iPhone. Але вам все одно потрібен Mac і офіційний iPhone SDK. А емулятор є офіційним яблучним, він виступає як окремий IDE і дозволяє вам не потрібно кодувати в Objective C, скоріше ви кодуєте c #

Цікаво сказати, цікавий проект ....

EDIT: мабуть, ви можете розповсюджувати в магазині додатків вже зараз, на ранніх етапах це вже не було…



0

Якщо ви хочете XCode в іншій ОС, пропоную хмарні обчислення. Таким чином ваш додаток розробляється на Mac і його можна подати в App Store.



0

Дивно, що ніхто не запропонував КВМ .

Це забезпечить вам майже рідну продуктивність і це вбудований Linux. Іди і перевіри це.

ви будете відчувати, що ви використовуєте тільки mac, а потім встановіть Xcode там, ви навіть можете вибрати безпосередньо завантажуватися в інтерфейс OSX замість ОС Linux при запуску.


-2

OSX базується на BSD , а не на Linux. Ви не можете запустити Xcode на машині Linux.


1
Це не має нічого спільного з тим, яке ядро ​​працює. І MacOS навряд чи "заснований на BSD", дивіться мою відповідь вище за історію
Evan Langlois
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.