Linux'ta Xcode'u çalıştırabilir misiniz?


186

Linux'ta Xcode çalıştırabilir misiniz? Mac OS X, BSD Unix'e dayanıyordu, bu mümkün mü?

Duyduğum kadarıyla, iPhone simülatörü olan bir MonoDevelop eklentisi var.


2
Bunun Apple'dan arayan linux ios Devs için xcode yerine swift yayımlanan şeyin olduğunu düşünüyorum cnet.com/news/apple-introduces-swift-2
PauAI

Xcode değil hızlı çıktılar.
Antzi

Hala iyi değil. Sadece dil açık kaynaklıdır ve standart bir kütüphane ile birlikte Linux'ta yayınlanır. İOS uygulamaları yapmak veya Xcode'u değiştirmek amaçlanmamıştır. Daha hızlı bir şekilde Linux uygulamaları yapmak gibi. Tabii ki bu bir çapraz derleyici yapmak isteyen insanların işini basitleştirecektir.
Antzi

Yanıtlar:


399

Xcode (gcc derleyici ailesi, gdb hata ayıklayıcı, vb.) İçin düşük seviyeli araç zincirinin tamamı açık kaynaklıdır ve Unix ve Linux platformları için ortaktır. Ancak IDE - editör, proje yönetimi, indeksleme, navigasyon, inşa sistemi, grafik hata ayıklayıcı, görsel veri modelleme, SCM sistemi, yeniden düzenleme, proje anlık görüntüleri, vb. - bir Mac OS X Cocoa uygulamasıdır ve taşınabilir değildir.


76
Yaygın olan ve Mac merkezli olanın +1 mükemmel kısa dökümü
curtisk

11
Başka bir işletim sisteminde çalıştırmanın muhtemelen EULA'sını bozduğundan bahsetmiyorum. Apple, lisans anlaşmaları söz konusu olduğunda özellikle cimri.
jpaugh

1
Bu% 100 doğru değil (veya güncel değil). Standart GCC, Mach-O nesne dosyaları üretemez, ancak Clang üretebilir. Ama sonra son ikiliyi bağlamak için hala Apple'ın ld'sine ihtiyacınız var. Darling, Linux'ta orijinal Xcode araç zincirini çalıştırabilir (ancak Xcode IDE'yi çalıştıramaz).
LubosD

38

Henüz kimse Vagrant'ı önermedi , işte burada, OSX için Vagrant kutusu

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

ve bir MACOS sanal makineniz var. Ancak Apple'ın EULA'sına göre, onu hala MacOS donanımında çalıştırmanız gerekiyor: D Ancak her yerde, burada MacOS'u silen ve Ubuntu: D'yi yükleyen hepinize biriniz

Ne yazık ki, editörleri SSH X-forwardingseçeneğini kullanarak içeriden çalıştıramazsınız .


3
Xcode ile uygulamalar oluşturmak için GUI editörlerini çalıştırabilmeniz mi gerekiyor yoksa CLI'den yapılabilir mi?
Jose V

26

Gerçekten yorum yapmak istedim, cevap vermek istemedim. Ancak kesin olarak söylemek gerekirse, OSX BSD'ye dayanmaz, NeXTStep'in bir evrimidir. NeXTStep OS, CMU tarafından geliştirilen Mach çekirdeğini kullanır. Başlangıçta bir MicroKernel olarak tasarlandı, ancak performans kısıtlamaları nedeniyle, sonunda API'nın Unix bölümünü çekirdeğin içine ve böylece BSD uyumlu bir "sunucu" (başlangıçta BSD uyumlu istekleri işlemek için tasarlandı) çekirdek mesajları) çekirdeğe taşınarak Monolitik bir çekirdek haline getirildi. Programlama API'sinde BSD uyumlu olabilir, ancak BSD DEĞİLDİR.

İşletim sisteminin geri kalanı, ObjectiveC'yi (Stepstone ve GNU / GCC'den Richard Stallman arasındaki düzenlemeler altında), "Display Postscript" adı verilen bir teknolojiye dayanan bir GUI ile ... bir çeşit X Server gibi, ancak postscript komutlarıyla içeriyordu. OS X, Display Postscript'i PDF'yi Görüntüle olarak değiştirdi ve genel donanım gereksinimlerini 1000 kat artırdı (NeXT 8-16MB'da çalışabilir, şimdi GB'ye ihtiyacınız var).

GCC ile Objective C ve NeXT'nin yakın evliliği nedeniyle, XCode'u Linux altında yerel olarak çalıştırmanın en iyi yolu GNUStep kütüphanelerini kullanarak bir bağlantı noktası (iyi şanslar elde ederseniz) yapmak olacaktır. Başlangıçta NextStep ve daha sonra OpenStep uyumluluğu için tasarlandı, şimdi daha fazla veya daha az Kakao uyumlu olduklarını duydum, ancak neredeyse yirmi yılda hiçbiriyle oynamadım. Tabii ki bu sizi Swift'e değil, sadece ObjC'ye kadar götürüyor ve Apple'ın OpenSource'a gidip gitmeyeceğini bilmiyorum.


9

VMware Player veya Workstation (veya belki VirtualBox çalıştırırsanız, Mac OS X'i destekleyip desteklemediğinden emin değilim) ve sonra Mac OS X Sunucusu (İstemci yasal olarak sanallaştırılamaz). Tabii ki, bu durumda OS X üzerinde XCode çalıştırıyorsunuz, ancak ana makineniz linux olabilir.


5
VirtualBox içinde OS X çalıştırmak gerçekten de mümkün. Ben 10.8 Dağ Aslanı'nı bu şekilde koşuyorum. Bir howto izlemelisin. Neredeyse kusursuz çalışıyor. Danimarkalıyım, bu yüzden kendi klavye düzenimi oluşturmak zorunda kaldım.
Kristian Spangsege

3
Sunucu bile yalnızca (yasal olarak) yalnızca Apple Donanımında sanallaştırılabilir; Bununla birlikte, Linux'u Apple donanımında ve ardından Mac OS X'i konuk olarak çalıştırmanın yasal olacağını düşünüyorum (bunun cazip bir seçenek olduğundan emin değilim). @KristianSpangsege: VirtualBox altında sizin için çalıştığını duyduğuma sevindim ... Yaklaşık 5 farklı sürüm yükledim ve hepsi çok yavaştı. VMware'e geçene kadar tüm sanallaştırılmış MacOSX'larla ilgili bir sorun olduğunu düşündüm ... neredeyse hiç sorun yok (bazen kısa yavaşlama hala gerçekleşiyor).
johndodo


4

Bu eklenti için MonoTouch'a (ücretsiz değil!) İhtiyacınız olduğunu düşünüyorum .

Ve hayır, Linux'ta Xcode'u çalıştırmanın bir yolu yok.

Tüm kötü haberler için özür dilerim. :)


2

Hayır, iPhone geliştirme için bir .NET / mono ortamı olan MonoTouch'ı duydunuz . Ancak yine de bir Mac'e ve resmi iPhone SDK'sına ihtiyacınız var. Ve emülatör resmi elma olanıdır, bu ayrı bir IDE gibi davranır ve Amaç C'de kodlamak zorunda kalmazsınız, daha çok c #

Az söylemek ilginç bir proje ....

DÜZENLEME: görünüşe göre, şimdi app mağaza dağıtabilirsiniz, erken bu bir gitmek oldu ....


1

Bunu yapmanın en kolay yolu OSX kopyasına sahip bir VM çalıştırmaktır.


0

XCode'u başka bir işletim sisteminde istiyorsanız, bulut bilgi işlem yapmanızı öneririm. Bu şekilde uygulamanız bir Mac üzerinde geliştirilir ve App Store'a gönderilebilir.



0

Kimsenin KVM önermemesi garipti .

Size neredeyse doğal bir performans sağlayacak ve yerleşik Linux. Git ve kontrol et.

u sadece mac kullanıyormuş gibi hissedeceksiniz ve daha sonra Xcode'u yükleyeceksiniz, hatta başlangıçta Linux yerine OSX GUI'ye doğrudan önyükleme yapmayı bile seçebilirsiniz


-2

OSX, Linux'a değil BSD'ye dayanmaktadır . Xcode'u bir Linux makinesinde çalıştıramazsınız.


1
Çekirdeğinin çalıştığı şeyle ilgisi yoktur. Ve MacOS neredeyse "BSD'ye dayanıyor", tarih için yukarıdaki cevabım bakın
Evan Langlois
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.