क्या आप लिनक्स में Xcode चला सकते हैं?


186

क्या आप लिनक्स में Xcode चला सकते हैं? मैक ओएस एक्स बीएसडी यूनिक्स पर आधारित था, तो क्या यह संभव है?

मैंने जो सुना है, उसमें एक मोनो-डिवेलप प्लगइन है जिसमें आईफोन सिम्युलेटर है।


2
मुझे लगता है कि यह वही है जो आप देख रहे हैं Apple ने लिनक्स के लिए xcode को बदलने के लिए तेजी से जारी किया ios devs cnet.com/news/apple-introduces-swift-2
PauAI

उन्होंने स्विफ्ट नॉट एक्सकोड जारी की।
अंतीज

फिर भी अच्छा नहीं है। यह सिर्फ इतना है कि भाषा खुला स्रोत है और लिनक्स पर एक मानक पुस्तकालय के साथ प्रकाशित किया जाता है। इसका इरादा iOS ऐप बनाना या Xcode को बदलना नहीं है। अधिक तेजी से लिनक्स एप्स बनाना पसंद करते हैं। बेशक यह क्रॉस कंपाइलर बनाने के इच्छुक लोगों के काम को आसान करेगा।
अंटीज

जवाबों:


399

Xcode (gcc संकलक परिवार, gdb डीबगर, इत्यादि) के लिए निम्न-स्तरीय टूलचैन सभी ओपन सोर्स और Unix और Linux प्लेटफार्मों के लिए आम है। लेकिन IDE - एडिटर, प्रोजेक्ट मैनेजमेंट, इंडेक्सिंग, नेविगेशन, बिल्ड सिस्टम, ग्राफिकल डीबगर, विजुअल डेटा मॉडलिंग, SCM सिस्टम, रीफैक्टरिंग, प्रोजेक्ट स्नैपशॉट आदि ।-- एक मैक ओएस एक्स कोको एप्लिकेशन है, और यह पोर्टेबल नहीं है।


76
+1 क्या सामान्य है और मैक केंद्रित क्या है का उत्कृष्ट संक्षिप्त
विराम

11
यह उल्लेख करने के लिए नहीं कि इसे दूसरे ओएस पर चलाने से संभवतः इसका EULA टूट जाता है। जब यह लाइसेंस समझौतों की बात आती है, तो Apple विशेष रूप से कंजूस होता है।
jpaugh

1
यह 100% सही (या अद्यतित) नहीं है। मानक GCC माक-ओ ऑब्जेक्ट फ़ाइलों का उत्पादन नहीं कर सकता है, लेकिन क्लैंग कर सकता है। लेकिन फिर भी आपको अंतिम बाइनरी लिंक करने के लिए Apple के ld की आवश्यकता है। डार्लिंग लिनक्स पर मूल एक्सकोड टूलचैन चला सकते हैं (लेकिन एक्सकोड आईडीई नहीं)।
लुबोस

38

किसी ने अभी तक वैग्रंट का सुझाव नहीं दिया है, इसलिए यहां ओएसएक्स के लिए वैग्रेंट बॉक्स है

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

और आपके पास एक MACOS वर्चुअल मशीन है। लेकिन Apple के EULA के अनुसार, आपको अभी भी इसे MacOS हार्डवेयर पर चलाने की आवश्यकता है: D लेकिन कहीं भी, यहाँ आप सभी में से एक geeks है जिसने MacOS मिटा दिया और Ubuntu स्थापित किया: D

दुर्भाग्य से, आप SSH X-forwardingविकल्प का उपयोग करके संपादकों को अंदर से नहीं चला सकते हैं ।


3
क्या आपको Xcode वाले ऐप्स बनाने के लिए GUI संपादकों को चलाने में सक्षम होने की आवश्यकता है या यह CLI से किया जा सकता है?
जोस V

26

मैं वास्तव में टिप्पणी करना चाहता था, जवाब नहीं। लेकिन सिर्फ सटीक होने के लिए, OSX BSD पर आधारित नहीं है, यह NeXTStep का विकास है। NeXTStep OS CMU द्वारा विकसित मच कर्नेल का उपयोग करता है। यह मूल रूप से माइक्रो कर्नेल के रूप में डिज़ाइन किया गया था, लेकिन प्रदर्शन की बाधाओं के कारण, उन्होंने अंततः निर्णय लिया कि उन्हें एपीआई के यूनिक्स भाग को कर्नेल में ही शामिल करने की आवश्यकता है और इसलिए बीएसडी-संगत "सर्वर" (मूल रूप से बीएसडी-संगत के लिए अनुरोधों को संसाधित करने का इरादा है) कर्नेल संदेश) को कर्नेल में स्थानांतरित किया गया, जिससे यह एक अखंड कर्नेल बना। यह प्रोग्रामिंग एपीआई में बीएसडी संगत हो सकता है, लेकिन यह बीएसडी नहीं है।

बाकी ओएस में ऑब्जेक्टिव सी (जीएनयू / जीसीसी के स्टेपस्टोन और रिचर्ड स्टालमैन के बीच व्यवस्था के तहत) शामिल थे, एक जीयूआई के साथ "डिस्प्ले पोस्टस्क्रिप्ट" नामक एक तकनीक पर आधारित ... एक एक्स सर्वर की तरह, लेकिन पोस्टस्क्रिप्ट कमांड के साथ। ओएस एक्स ने डिस्प्ले पोस्टस्क्रिप्ट को डिस्प्ले पीडीएफ में बदल दिया, और सामान्य हार्डवेयर आवश्यकताओं को 1000 गुना बढ़ा दिया (नेक्सटी 8-16 एमबी में चल सकता था, अब आपको जीबी की आवश्यकता है)।

जीसीसी और ऑब्जेक्टिव सी और नेक्सटी के करीबी विवाह के कारण, लिनक्स के तहत मूल रूप से एक्सकोड को चलाने में आपकी सबसे अच्छी शर्त एक पोर्ट करना होगा (यदि आप स्रोत का अच्छी तरह पा सकते हैं - सौभाग्य) जीएनयूएसटीपी पुस्तकालयों का उपयोग करना। मूल रूप से नेक्स्टस्टेप और फिर ओपनस्टेप अनुकूलता के लिए डिज़ाइन किया गया, मैंने सुना है कि वे अब अधिक-या-कम कोको संगत हैं, लेकिन मैंने लगभग 2 दशकों में इसमें से किसी के साथ नहीं खेला है। बेशक, जो आपको केवल ओब्जेक के रूप में मिलता है, स्विफ्ट से नहीं, और मुझे नहीं पता कि क्या ऐप्पल इसे ओपनसोर्स करने जा रहा है।


9

यदि आप VMware प्लेयर या वर्कस्टेशन (या शायद वर्चुअलबॉक्स) चलाते हैं, तो मुझे यकीन नहीं है कि यह मैक ओएस एक्स का समर्थन करता है, लेकिन हो सकता है), और फिर मैक ओएस एक्स सर्वर (क्लाइंट कानूनी रूप से वर्चुअलाइज्ड नहीं हो सकता है)। बेशक, इस मामले में आप ओएस एक्स पर एक्सकोड चला रहे हैं, लेकिन आपकी मेजबान मशीन लिनक्स हो सकती है।


5
वर्चुअलबॉक्स के अंदर OS X चलाना वास्तव में संभव है। मैं इस तरह से 10.8 माउंटेन लायन चलाता हूं। आपको एक हाउटो का पालन करना चाहिए। यह लगभग निर्दोष रूप से काम करता है। मैं भाई हूं इसलिए मुझे अपना कीबर्ड लेआउट बनाना पड़ा।
क्रिस्टियन स्पैंगसेगे

3
यहां तक ​​कि सर्वर केवल Apple हार्डवेयर पर ही (कानूनी रूप से) वर्चुअलाइज्ड हो सकता है; मुझे लगता है कि Apple हार्डवेयर पर लिनक्स चलाना और फिर मैक ओएस एक्स को उसके अतिथि के रूप में चलाना कानूनी होगा (हालांकि मुझे यकीन नहीं है कि यह एक आकर्षक विकल्प है)। @KristianSpangsege: यह सुनकर खुशी हुई कि यह आपके लिए वर्चुअलबॉक्स के तहत चलता है ... मैंने लगभग 5 अलग-अलग संस्करण स्थापित किए और सभी बहुत धीमे थे। मैंने सोचा था कि यह सभी वर्चुअलाइज्ड MacOSXs के साथ एक समस्या थी जब तक कि मैं VMware पर नहीं गया था ... लगभग कोई समस्या नहीं है (कभी-कभी छोटी मंदी अभी भी होती है)।
जॉन्डोडो

7

यदि आप एक सभ्य मैक के लिए हजारों डॉलर का भुगतान नहीं कर सकते हैं, तो क्लाउड में OSX और XCode चलाने का विकल्प है:

http://www.macincloud.com/


4

मुझे लगता है कि आपको उस प्लगइन के लिए मोनोऑट (मुफ्त नहीं!) की आवश्यकता है ।

और नहीं, लिनक्स पर Xcode चलाने का कोई तरीका नहीं है।

सभी बुरी खबरों के लिए क्षमा करें। :)


2

नहींं, आपने मोनोओच के बारे में सुना है जो iPhone विकास के लिए एक .NET / मोनो पर्यावरण है। लेकिन आपको अभी भी एक मैक और आधिकारिक iPhone एसडीके की आवश्यकता है। और एमुलेटर आधिकारिक ऐप्पल एक है, यह एक अलग आईडीई के रूप में कार्य करता है और आपको ऑब्जेक्ट सी में कोड करने की अनुमति नहीं है, बल्कि आप सी # में कोड करते हैं।

यह कम से कम कहने के लिए एक दिलचस्प परियोजना है ...।

संपादित करें: जाहिरा तौर पर, अब आप ऐप स्टोर पर वितरित कर सकते हैं, जल्दी उस पर एक नहीं था ...।



0

यदि आप दूसरे ओएस पर XCode चाहते हैं, तो मैं क्लाउड कंप्यूटिंग का सुझाव देता हूं। इस तरह से आपका ऐप मैक पर विकसित हो रहा है और ऐप स्टोर में जमा किया जा सकता है।


0

यदि आप वास्तव में लिनक्स पर Xcode का उपयोग करना चाहते हैं तो आप वर्चुअल बॉक्स प्राप्त कर सकते हैं और VM पर Hackintosh स्थापित कर सकते हैं।

https://hackintosh.com/


0

यह अजीब था कि किसी ने केवीएम का सुझाव नहीं दिया ।

यह आपको लगभग मूल प्रदर्शन प्रदान करने वाला है और यह अंतर्निहित लिनक्स है। जाओ और इसे बाहर से जाँच करो।

आप महसूस करेंगे कि यू केवल मैक का उपयोग कर रहे हैं और फिर वहां Xcode स्थापित करें, ताकि आप स्टार्टअप पर लिनक्स के बजाय सीधे OSX GUI में बूट कर सकें


-2

OSX BSD पर आधारित है , न कि लिनक्स पर। आप लिनक्स मशीन पर Xcode नहीं चला सकते।


1
यह क्या चल रहा है के साथ कुछ नहीं करना है। और मैकओएस शायद ही "बीएसडी पर आधारित" है, इतिहास के लिए मेरे जवाब को ऊपर देखें
इवान लैंग्लोइस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.