क्या एक तकनीकी कारण है कि आप एक लिनक्स कंप्यूटर पर iOS ऐप क्यों नहीं विकसित कर सकते हैं?


23

मैं समझता हूं कि आप लिनक्स कंप्यूटर पर OS X ऐप क्यों नहीं विकसित कर सकते, लेकिन क्या एक अच्छा तकनीकी कारण है कि आप लिनक्स पर iPhone और iPad ऐप विकसित नहीं कर सकते हैं? IOS स्रोत कोड को iOS निष्पादन योग्य में संकलित करना और लिनक्स पर iOS सिम्युलेटर में इसे चलाना या विकास iOS डिवाइस पर स्थापित करना क्यों संभव नहीं है?

क्या यह सिर्फ इसलिए है क्योंकि XCode IDE एक कोकोआ एप्लीकेशन है?

आप किसी भी तरह के प्लेटफॉर्म पर एंड्रॉइड ऐप विकसित कर सकते हैं, ऐसा लगता है। मैं यह नहीं देखता कि iOS का सच क्यों नहीं हो सकता।


29
मैं इस सवाल के जवाब की कल्पना करता हूं, दुख की बात यह है कि "नहीं; ऐप्पल ने बस इतना कहा"।
जॉन प्यूडी

11
प्रश्न "निन्दा" के लिए बंद;)
थोरस्टन मुलर 20

1
एक साइड नोट पर, आप "मैक मिनी" मशीन प्राप्त कर सकते हैं। यह सस्ता है इसका उल्लेख नहीं करना वास्तव में एक ठीक मशीन है।
चिरोन

2
@ 1982 की किंवदंती: मैंने टाइम मशीन के रूप में ठीक मशीन को गलत तरीके से पढ़ाया , और साथ ही साथ एप्पल के उत्साह और उत्साह का अनुभव किया।
जॉन पर्पडी

@Jon Purdy वेल एप्पल "टाइम मशीन" और "टाइम कैप्सूल" :)
चिरोन

जवाबों:


17

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


17
"मैक ओएस एक्स केवल कानूनी तौर पर एप्पल हार्डवेयर पर चलाया जा सकता है" - मुझे बहुत आश्चर्य होगा अगर यह किसी भी कानूनी प्रणाली में सच था। मैं एक तथ्य के लिए जानता हूं कि यह जर्मनी में सच नहीं है, क्योंकि माइक्रोसॉफ्ट ने उसी स्टंट को खींचने की कोशिश की, लोगों ने इसे नजरअंदाज कर दिया, माइक्रोसॉफ्ट ने मुकदमा किया, और हार गया।
डब्ल्यू पर Jörg W Mittag

4
मैं इसे अधिक सटीक रूप से "अनुबंधित" में बदल दूंगा।
वर्ल्ड इंजीनियर

3
अनुबंध की शर्तों का उल्लंघन करना मूल रूप से आपको समर्थन विशेषाधिकारों से अलग करता है। Apple अच्छी ग्राहक सेवा प्रदान करना चाहता है, और ऐसा करने का सबसे सरल तरीका उस स्थान को सीमित करना है जिसमें चीजें पहले स्थान पर गलत हो सकती हैं। यदि आप गैर-Apple हार्डवेयर पर अपना OS चला रहे हैं, तो आप अपने दम पर हैं।
जॉन प्यूडी

@ JörgWMittag Microsoft ने ऐसा करने की कोशिश कैसे की? मुझे पता नहीं है कि Microsoft पहले स्थान पर हार्डवेयर बनाता है।
नादिर संपोली

4
@NadirSampaoli: जर्मनी में, Microsoft पीसी बिल्डरों को विंडोज लाइसेंस बहुत सस्ते में बेचता है , ताकि वे अपने पीसी के साथ विंडोज को बंडल कर सकें, बिना ओएस के पीसी की तुलना में या बिना बंडल किए लिनक्स के साथ। आशय यह है कि ये लाइसेंस पीसी पर पूर्व-स्थापित हैं। हालांकि, पीसी बिल्डरों ने महसूस किया कि वे उन लाइसेंसों को अलग से बेच सकते हैं, जो उनके लिए भुगतान की तुलना में भारी लाभ के साथ , लेकिन अभी भी माइक्रोसॉफ्ट के लिए बहुत सस्ता है। Microsoft ने इस आधार पर मुकदमा किया कि उन लाइसेंसों का उपयोग केवल उन बिल्डरों से पीसी के साथ किया जा सकता है, लेकिन वे खो गए।
जॉर्ग डब्ल्यू मित्तग

17

इसका कोई विशेष तकनीकी कारण नहीं है, लेकिन डेवलपर टूल Apple केवल Macs पर रन प्रदान करता है, और मैं उन्हें बदलने के लिए किसी भी जल्दबाजी में नहीं देखता हूं।

तीसरे पक्ष के डेवलपर टूल के संबंध में, Apple बहुत ही सार्वजनिक रूप से उन्हें नापसंद करता है, और ऐप स्टोर में जो कुछ भी मिलता है, उस पर Apple की पूर्ण वीटो पावर दी गई है, उन्हें बनाने / उपयोग करने में किसी भी महत्वपूर्ण विकास समय का निवेश करना बहुत अच्छा विचार नहीं है।

(विकास उपकरण में से एक - आईओएस सिम्युलेटर - है बहुत दृढ़ता से ध्वनि तकनीकी कारणों से MacOS एक्स से बंधा AFAIK यह वास्तव में iOS और बहुत समान MacOS एक्स एपीआई, के बीच एक पतली आवरण है जो यह असीम कठिन होगा एक और ओएस पर करना है। । आपको स्क्रैच से फिर से शुरू करना होगा और संभवत: कुत्ते के रूप में कुछ धीमा होगा और एंड्रॉइड एमुलेटर के रूप में भयानक है)


8

यह निर्भर करता है कि आप "तकनीकी कारण" से क्या मतलब रखते हैं

कड़ाई से कहूं तो मुझे विश्वास नहीं है कि आईओएस में लिनक्स पर विकसित नहीं किया जा सकता है एक तकनीकी कारण है। इसके लिए कुछ उपकरण की आवश्यकता होगी, यह Apple या उद्यमी / प्रतिभाशाली हैकर्स का समूह होगा, जो इसके लिए एक टूलचैन को लेखक करेगा (संकलक, शायद एक आईडीई, इसे फोन पर प्राप्त करने के लिए कुछ)।

तो अगर "तकनीकी कारण" से आपका मतलब है "मैकिंटोश के बारे में कुछ विशेष जो असंभव है और संभवतः किसी अन्य मंच पर मौजूद नहीं हो सकता" तो नहीं, मुझे विश्वास नहीं होता कि वहाँ है। उदाहरण के लिए आवश्यक Macintosh पर कुछ विशेष चिप नहीं है।

यदि "तकनीकी कारण" से आपका तात्पर्य है "कुछ ऐसा जो मुझे आज करने में सक्षम होने से रोकता है" तो हाँ, संपूर्ण हस्ताक्षरित कोड बिटकॉइन लिनक्स पर मौजूद नहीं है और जब तक कि ऐप्पल इसे पोर्ट नहीं करता है तब तक यह बॉल गेम है।


4

मुझे लगता है कि यह कहा जाना चाहिए कि आप अन्य प्लेटफार्मों पर iOS के लिए विकसित कर सकते हैं , आप बस उन पर अंतिम एप्लिकेशन नहीं बना सकते हैं।

यह स्वीकार किए गए उत्तर में समझाया गया है कि आप ओएस एक्स के बाहर क्यों नहीं बना सकते हैं, लेकिन कई विकास उपकरण हैं जो आपको अन्य प्लेटफार्मों पर आईओएस एप्लिकेशन लिखने की अनुमति देते हैं।

मेरे द्वारा उपयोग किए जाने वाले कुछ विकास उपकरण इसकी अनुमति देते हैं:

  • Qt फ्रेमवर्क (C ++ और Qml): अनुप्रयोगों को विंडोज या लिनक्स में लिखा जा सकता है, फिर iOS एप्लिकेशन को एक्स के लिए XCode के साथ बनाया जाता है।

  • Unity3D (C #, UnityScript और Boo): आप विंडोज पर विकसित कर सकते हैं और एक XCode प्रोजेक्ट को उत्पन्न करने वाले किसी भी प्लेटफॉर्म पर iOS का निर्माण कर सकते हैं। यह अन्य उद्देश्य-सी कोड के साथ आगे एकीकरण की भी अनुमति देता है।

  • Xamarin (C #): आप विंडोज पर विकसित कर सकते हैं (और मेरा मानना ​​है कि लिनक्स), और बिल्ड होस्ट के रूप में ओएस एक्स मशीन का उपयोग करें।

  • किवी (पायथन): XCode प्रोजेक्ट भी तैयार करता है।

और आप इस तरह के कई और प्रोजेक्ट पा सकते हैं , विशेषकर एक बार जब आप हाइपरसोनिक और मोबाइल वेब ऐप फ्रेमवर्क जैसे ऐप्लिकेटर को देखना शुरू करते हैं।


0

इस बात का कोई तकनीकी कारण नहीं है कि आप लिनक्स पर आईओएस एप्लिकेशन विकसित नहीं कर पाएंगे। वास्तव में यह पहले से ही डेल्फी एक्सई में खिड़कियों पर होता है। वहां आप अपने आईओएस ऐप को पूरी तरह से विंडोज़ में विकसित कर सकते हैं। अंत में केवल एक चीज की जरूरत है कि आपके ऐप्स को साइन इन करना होगा। यह केवल एक मैक पर किया जा सकता है।


0

एक तकनीकी कारण है कि Xcode अन्य प्रणालियों पर iOS ऐप्स के विकास की अनुमति नहीं देगा।

आईओएस ओएस एक्स के कई मायनों में समान है। कई रूपरेखाएं समान या बहुत करीब हैं। IOS सिम्युलेटर एक बहुत तेज़ परीक्षण वातावरण प्रदान करने के लिए इसका उपयोग करता है। जब Xcode सिम्युलेटर में चलाने के लिए एक ऐप को संकलित करता है, तो यह x86 बायनेरिज़ बनाता है जो उन चौखटों के खिलाफ लिंक करता है जो ज्यादातर OS X चौखटे के नीचे फेंकते हैं। आप अपने मैक पर मूल रूप से चलने वाले डिबग बिल्ड के साथ समाप्त होते हैं, जिसमें बहुत अच्छा प्रदर्शन होता है।

यदि आप एंड्रॉइड को देखते हैं, तो यह प्लेटफ़ॉर्म स्वतंत्र एप्स बनाता है जो तब एक एंड्रॉइड एमुलेटर या किसी अन्य में उत्सर्जित होते हैं। यह एक वर्चुअल मशीन चलाता है जो आपको डीबग करने के लिए पूरे Android स्टैक को चलाता है। एमुलेटर हैं जो दूसरों की तुलना में तेज हैं, लेकिन उनमें से सभी सिम्युलेटर की तुलना में बहुत धीमी हैं। हालांकि, लाभ यह है कि वे क्रॉस-प्लेटफॉर्म हैं।

Apple के लिए iOS ऐप्स को अन्य सिस्टम पर बनाए जाने की अनुमति देने के लिए, उन्हें या तो उन OSes के फ्रेमवर्क को पोर्ट करने की आवश्यकता होगी ताकि वे एक सिम्युलेटर लिख सकें, या उन्हें एक एमुलेटर का निर्माण करना होगा। या तो उन लोगों के काम का एक हिस्सा होगा जो नई सुविधाओं के निर्माण से समय निकालेंगे।


0

जब आप लिनक्स पर iOS के लिए एप्लिकेशन पर हस्ताक्षर नहीं कर सकते हैं, और इस तरह उन्हें स्वीकृत तरीकों के माध्यम से वितरित करते हैं, तो आप थियोस का उपयोग करके लिनक्स पर (समान एपीआई के साथ) विकसित कर सकते हैं। यह टूलकिन है जिसका उपयोग जेलब्रेक समुदाय द्वारा iOS के लिए ऐप विकसित करने के लिए किया जाता है, और यह क्रॉस-प्लेटफ़ॉर्म है। यदि आपका iOS डिवाइस जेलब्रेक किया गया है, तो मेरा मानना ​​है कि आप libimobiledevice के माध्यम से अपने डिवाइस पर संकलित एप्लिकेशन को धक्का दे पाएंगे, लेकिन अगर मैं गलत हूं तो कोई मुझे सही कर सकता है।

कुछ और जानकारी: http://iphonedevwiki.net/index.php/Theos

मेरी योजना है कि मैं अगले दिन ऐसा करूंगा और मैं अपडेट प्रदान करूंगा।


1
कृपया अपडेट करें!
काइल स्ट्रैंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.