Bisakah Anda Menjalankan Xcode di Linux?

186

Bisakah Anda menjalankan Xcode di Linux? Mac OS X didasarkan pada BSD Unix, jadi apakah mungkin?

Dari apa yang saya dengar, ada plugin MonoDevelop yang memiliki simulator iPhone.

Mohit Deshpande
sumber
2
Saya pikir inilah yang Anda cari dari Apple yang dirilis dengan cepat untuk mengganti xcode untuk linux ios devs cnet.com/news/apple-introduces-swift-2
PauAI
Mereka merilis dengan cepat bukan Xcode.
Antzi
Masih tidak bagus. Hanya saja bahasanya adalah open source dan diterbitkan di Linux bersama dengan perpustakaan standar. Itu tidak dimaksudkan untuk membuat aplikasi iOS atau mengganti Xcode. Lebih suka membuat aplikasi Linux dengan cepat. Tentu saja ini akan menyederhanakan pekerjaan orang yang ingin membuat kompiler silang.
Antzi

Jawaban:

399

Toolchain tingkat rendah untuk Xcode (keluarga gcc compiler, gdb debugger, dll.) Semuanya open source dan umum untuk platform Unix dan Linux. Tetapi IDE - editor, manajemen proyek, pengindeksan, navigasi, membangun sistem, debugger grafis, pemodelan data visual, sistem SCM, refactoring, snapshot proyek, dll-- adalah aplikasi Mac OS X Cocoa, dan tidak portabel.

cdespinosa
sumber
76
+1 rincian singkat yang sangat baik dari apa yang umum dan apa yang mac centric
curtisk
11
Belum lagi menjalankannya di OS lain mungkin merusak EULA-nya. Apple sangat pelit dalam hal perjanjian lisensi.
jpaugh
1
Ini tidak 100% benar (atau terbaru). GCC standar tidak dapat menghasilkan file objek Mach-O, tetapi Dentang bisa. Tetapi Anda masih membutuhkan Apple untuk menghubungkan biner terakhir. Sayang dapat menjalankan Xchain toolchain asli di Linux (tetapi tidak Xcode IDE).
LubosD
38

Belum ada yang menyarankan Vagrant , jadi ini dia, kotak Vagrant untuk OSX

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

dan Anda memiliki mesin virtual MACOS. Tetapi menurut Apple EULA, Anda masih perlu menjalankannya pada perangkat keras MacOS: D Tapi di mana saja, ini salah satu dari kalian para Geeks yang menghapus MacOS dan menginstal Ubuntu: D

Sayangnya, Anda tidak dapat menjalankan editor dari dalam menggunakan X-forwardingopsi SSH .

bbozo
sumber
3
Apakah Anda harus dapat menjalankan editor GUI untuk membangun aplikasi dengan Xcode atau dapatkah dilakukan dari CLI?
Jose V
26

Saya benar-benar ingin berkomentar, bukan menjawab. Tapi untuk lebih tepatnya, OSX tidak didasarkan pada BSD, itu adalah evolusi dari NeXTStep. OS NeXTStep menggunakan kernel Mach yang dikembangkan oleh CMU. Awalnya dirancang sebagai MicroKernel, tetapi karena kendala kinerja, mereka akhirnya memutuskan bahwa mereka perlu memasukkan bagian Unix dari API ke dalam kernel itu sendiri dan dengan demikian "server" yang kompatibel dengan BSD (awalnya dimaksudkan untuk memproses permintaan yang kompatibel dengan BSD). pesan-pesan kernel) dipindahkan ke kernel, menjadikannya kernel Monolitik. Ini mungkin kompatibel dengan BSD di API pemrograman, tetapi BUKAN BSD.

Sisa OS melibatkan ObjectiveC (di bawah pengaturan antara Stepstone dan Richard Stallman dari GNU / GCC) dengan GUI berdasarkan pada teknologi yang disebut "Display Postscript" ... semacam Server X, tetapi dengan perintah postscript. OS X mengubah Display Postscript menjadi Display PDF, dan meningkatkan persyaratan perangkat keras umum 1000 kali lipat (NeXT dapat berjalan dalam 8-16MB, sekarang Anda membutuhkan GB).

Karena perkawinan dekat GCC dan Objective C dan NeXT, taruhan terbaik Anda untuk menjalankan XCode secara native di Linux adalah dengan melakukan port (jika Anda dapat mengetahui sumbernya - semoga sukses) menggunakan perpustakaan GNUStep. Awalnya dirancang untuk NextStep dan kemudian kompatibilitas OpenStep, saya dengar mereka sekarang lebih atau kurang kompatibel dengan Kakao, tapi saya belum pernah memainkannya dalam hampir 2 dekade. Tentu saja itu hanya membuat Anda sejauh ObjC, bukan Swift, dan saya tidak tahu apakah Apple akan OpenSource.

Evan Langlois
sumber
9

Jika Anda menjalankan VMware Player atau Workstation (atau mungkin VirtualBox, saya tidak yakin apakah itu mendukung Mac OS X, tetapi mungkin), dan kemudian Mac OS X Server (Klien tidak dapat secara legal divirtualisasi). Tentu saja, dalam hal ini Anda menjalankan XCode pada OS X, tetapi mesin host Anda bisa linux.

Ian
sumber
5
Memang mungkin untuk menjalankan OS X di dalam VirtualBox. Saya menjalankan 10.8 Mountain Lion dengan cara ini. Anda harus mengikuti howto. Ini bekerja hampir tanpa cacat. Saya Denmark, jadi saya harus membangun tata letak keybord saya sendiri.
Kristian Spangsege
3
Bahkan Server hanya dapat (secara legal) divirtualisasikan hanya di Apple Hardware; Saya pikir itu akan legal untuk menjalankan Linux pada perangkat keras Apple dan kemudian Mac OS X sebagai tamunya (meskipun saya tidak yakin ini adalah pilihan yang menarik). @KristianSpangsege: senang mendengarnya berjalan untuk Anda di bawah VirtualBox ... Saya menginstal sekitar 5 versi yang berbeda dan semuanya sangat lambat. Saya pikir itu adalah masalah dengan semua MacOSX tervirtualisasi sampai saya beralih ke VMware ... hampir tidak ada masalah di sana (sesekali terjadi perlambatan singkat).
johndodo
7

Jika Anda tidak dapat mengeluarkan ribuan dolar untuk Mac yang layak, maka ada opsi untuk menjalankan OSX dan XCode di cloud:

http://www.macincloud.com/

Roman Kagan
sumber
4

Saya pikir Anda memerlukan MonoTouch (tidak gratis!) Untuk plugin itu.

Dan tidak, tidak ada cara untuk menjalankan Xcode di Linux.

Maaf atas semua berita buruknya. :)

andyvn22
sumber
2

Tidak, Anda pernah mendengar tentang MonoTouch yang merupakan lingkungan .NET / mono untuk pengembangan iPhone. Tetapi Anda masih membutuhkan Mac dan iPhone SDK resmi. Dan emulator adalah apel resmi, ini bertindak sebagai IDE terpisah dan memungkinkan Anda untuk tidak perlu kode dalam Objective C, melainkan kode Anda di c #

Ini proyek yang menarik untuk sedikitnya ....

EDIT: rupanya, Anda dapat mendistribusikan di app store sekarang, sejak awal itu tidak jalan ....

singkat
sumber
1

Opsi termudah untuk melakukannya adalah menjalankan VM dengan salinan OSX.

Hedron Dantas
sumber
0

Jika Anda ingin XCode di OS lain, saya sarankan komputasi awan. Dengan begitu aplikasi Anda sedang dikembangkan di Mac dan dapat dikirimkan ke App Store.

Josh Guyette
sumber
0

Jika Anda benar-benar ingin menggunakan Xcode di linux Anda bisa mendapatkan Virtual Box dan menginstal Hackintosh di VM.

https://hackintosh.com/

RK_DUDE02
sumber
0

Aneh bahwa tidak ada yang menyarankan KVM .

Ini akan memberi Anda kinerja hampir asli dan itu adalah Linux bawaan. Pergi dan periksa.

Anda akan merasa seperti Anda menggunakan mac saja dan kemudian menginstal Xcode sana Anda bahkan dapat memilih untuk langsung boot ke GUI OSX daripada Linux satu pada startup

praveen shahi
sumber
-2

OSX didasarkan pada BSD , bukan Linux. Anda tidak dapat menjalankan Xcode pada mesin Linux.

rfunduk
sumber
1
Tidak ada hubungannya dengan kernel apa yang sedang berjalan. Dan MacOS hampir tidak "didasarkan pada BSD", lihat jawaban saya di atas untuk sejarah
Evan Langlois