मैंने सुना है कि अगर आपको iPhone ऐप विकसित करना है तो आपको एक मैक प्राप्त करना होगा। क्या ये सच है?
क्या लिनक्स का उपयोग करके iPhone ऐप विकसित करना संभव है? यदि हाँ, तो मुझे क्या चाहिए और मैं आवश्यक उपकरण कहाँ से डाउनलोड करूँ?
मैंने सुना है कि अगर आपको iPhone ऐप विकसित करना है तो आपको एक मैक प्राप्त करना होगा। क्या ये सच है?
क्या लिनक्स का उपयोग करके iPhone ऐप विकसित करना संभव है? यदि हाँ, तो मुझे क्या चाहिए और मैं आवश्यक उपकरण कहाँ से डाउनलोड करूँ?
जवाबों:
एक अलग प्रतिक्रिया प्रदान करने के लिए, मैं लिनक्स पर वर्चुअलाइज्ड (VMware) मशीन पर OS X और Xcode चला रहा हूं। CPU एक Core2Quad (Q8800) है, और यह पूरी तरह से तेज है। मुझे एक पूर्वनिर्मित वीएम ऑनलाइन मिला (मैं इसे खोजने के लिए आपको छोड़ दूंगा) एक्सकोड / आईफोन विकास पूरी तरह से काम करता है, जैसा कि यूएसबी के माध्यम से फोन पर ही डिबगिंग करता है।
इसने मुझे वास्तव में बहुत आश्चर्यचकित किया - लेकिन मेरे पास कोई मुद्दा नहीं था।
इसका उत्तर वास्तव में इस बात पर निर्भर करता है कि आप उन ऐप्स को विकसित करना चाहते हैं या नहीं जो कि iPhone स्टोर के माध्यम से वितरित किए गए हैं। यदि आप "जेलब्रेक" आईफोन भीड़ के लिए विकसित नहीं करते हैं और बुरा नहीं मानते हैं - तो लिनक्स से विकसित करना संभव है।
इस चैप पेज को व्यापक (यदि थोड़ा जटिल है) क्या करना है के लिए गाइड देखें:
यह अब तक सच लगता है। Apple से उपलब्ध एकमात्र SDK केवल MacOS वातावरण को लक्षित करता है। मैं उस बारे में परेशान हो गया हूं, लेकिन मैं अभी iPhone खरीदने के लिए एक मैक खरीद रहा हूं। मैं वास्तव में नापसंद करता हूं कि वे क्या कर रहे हैं, और मुझे उम्मीद है कि एक अच्छा एसडीके लिनक्स और विंडोज जैसे अन्य वातावरणों के लिए सामने आएगा।
एसडीके के बारे में बाधाएं :
IPhone एसडीके और मुफ्त सॉफ्टवेयर: मैच नहीं
Apple ने हाल ही में iPhone के लिए एक सॉफ्टवेयर डेवलपमेंट किट (SDK) जारी किया था, लेकिन अगर आप इसके साथ मूल ओपन सोर्स सॉफ्टवेयर को पोर्ट या डेवलप करने की उम्मीद कर रहे थे, तो खबर अच्छी नहीं है। कोड पर हस्ताक्षर और nondisclosure शर्तों मुफ्त सॉफ्टवेयर एक नहीं जाना है।
एसडीके अपने आप में एक मुफ्त डाउनलोड है, जिसके साथ आप प्रोग्राम लिख सकते हैं और उन्हें सॉफ्टवेयर सिम्युलेटर पर चला सकते हैं। लेकिन वास्तव में आपके द्वारा लिखे गए सॉफ़्टवेयर को रिलीज़ करने के लिए, आपको iPhone डेवलपर प्रोग्राम में नामांकन करना होगा - एसडीके डाउनलोड करने से एक कदम अलग, और एक जिसे ऐप्पल की स्वीकृति की आवश्यकता होती है।
मुझे लगता है कि यह केवल उनके लिए सोचने के लिए अभिजात्य है, केवल मैकोस उपयोगकर्ता अपने फोन के लिए प्रोग्राम लिखने के लिए काफी अच्छे हैं, और तथ्य यह है कि आपको $ 100 लाइसेंस खरीदने की आवश्यकता है यदि आप अपना सामान प्रकाशित करना चाहते हैं, तो वास्तव में यह हॉबीस्ट प्रोग्रामर के लिए और अधिक कठिन है। हालांकि, अगर आपको यही करना है, तो मैं उनके हुप्स के माध्यम से कूदने की योजना बना रहा हूं; मैं वास्तव में अपने iPhone पर विकसित कुछ सामान प्राप्त करना चाहता हूं।
वहाँ हुआ करता था : एक परियोजना इस दोष को हल करने के लिए समर्पित iphone-देव
Iphone-dev प्रोजेक्ट का लक्ष्य एआरएम / डार्विन प्लेटफॉर्म पर आधारित Apple iPhone और अन्य एम्बेडेड उपकरणों के लिए विकास को सक्षम करने के लिए एक नि: शुल्क, पोर्टेबल, उच्च गुणवत्ता वाला टूलचैन बनाना है।
वैकल्पिक उपकरण श्रृंखला के बारे में, सौरिक की साइट उपयोगी है लेकिन नवीनतम फर्मवेयर विकास के लिए वह आईफोन पर ही निर्माण का संकेत देता है और यह संकेत देने के लिए स्पष्ट रहता है कि आपको अपने लिनक्स वातावरण में आवश्यक iPhone फर्मवेयर फाइलों को कॉपी करने की आवश्यकता हो सकती है। यह असंभव नहीं है, लेकिन केवल अतिरिक्त काम करने की आवश्यकता है, विशेष रूप से कोड पर हस्ताक्षर करने के लिए (वहाँ बाहर खुले वैकल्पिक समाधान भी हैं)।
इसके अलावा, अन्य गाइड (एक ही टूल चेन के लिए) पर एक नज़र डालें, जो इसे और अधिक व्यवस्थित रूप से उपयोग करते हैं।
मैं अभी भी XCode में अंतिम बिल्ड और कोड साइनिंग और पैकेजिंग पर हस्ताक्षर करने का सुझाव दूंगा (जिसका अर्थ हो सकता है कि किसी के मैक को उधार लेने की स्थिति में) यदि आप ऐप्पल को एप्लिकेशन सबमिट करते समय समस्याओं में चलते हैं। वैकल्पिक टूल चेन का उपयोग करने से (मैक पर कम से कम) एक्सकॉइड के अलावा अन्य आईडीई का उपयोग करने की संभावना आवेदन को विकसित करने और फिर से सिम्युलेटर के साथ तैनाती और परीक्षण के लिए एक्सकोड का सहारा लेने की संभावना है।
बेशक अगर आपको XCode के बाहर कमांड लाइन से काम करने वाले कोड साइनिंग / सर्टिफिकेट जेनरेशन मिलते हैं तो आप अपने वास्तविक आईफोन पर एक प्रमाण पत्र स्थापित कर सकते हैं और वहां परीक्षण कर सकते हैं (आईट्यून्स w / आपके प्रमाणपत्र के माध्यम से ऐप इंस्टॉल कर सकते हैं)।
जिस तरह से मैं iPhone के लिए लिनक्स में विकास करने के बारे में जानता हूं वह होगा Vmware को स्थापित करना और OS X को वर्चुअल मशीन में चलाने पर काम करना। इसके साथ ही कहा कि ऐसा करने में कुछ "कानूनी" चिंताएं हैं। यह बताया गया है कि OS X सर्वर को वर्चुअलाइज किया जा सकता है, लेकिन जहाँ तक कि विकास की कहानी है, मुझे नहीं पता।
यदि आप वास्तव में गंभीर हैं, तो मैं यही जाँच करूँगा।
सौभाग्य।
आप एक लिनक्स बॉक्स पर कोड लिखने में सक्षम हो सकते हैं जो अंततः खुद को एक iPhone या iPad पर मिलेगा, लेकिन अंततः आपको iPhone पर कोड का परीक्षण करने या इसे पोस्ट करने या ऐप स्टोर में जमा करने के लिए मैक की आवश्यकता होगी। तो अंततः आपको एक मैक की आवश्यकता होती है, इसलिए आप मैक पर भी काम कर सकते हैं, जो कि सभी उपकरण Apple प्रदान करते हैं। Xcode & Objective-C के विकल्प हैं, जैसे मोनोटॉक - लेकिन ये ऐप्पल टूल का भी उपयोग करते हैं।
आप लिनक्स पर एक वीएम में ओएस एक्स के कुछ काम चला सकते हैं। हालाँकि मुझे यह बताना चाहिए कि यह OSX लाइसेंस समझौते को तोड़ देगा, भले ही आप OSX की प्रति खरीद लें - क्योंकि यह केवल Apple हार्डवेयर पर चलने के लिए लाइसेंस प्राप्त है।
यह समाचार देने के लिए क्षमा करें - iPhone / iPad के आस-पास का पारिस्थितिकी तंत्र बहुत कसकर नियंत्रित है।
EDIT: इसका एक बड़ा अपवाद iPhone के लिए एक वेब ऐप लिखना है। IPhone के लिए कुछ उत्कृष्ट वेब ऐप हैं जो लगभग एक देशी ऐप के रूप में उपयोगकर्ता के अनुभव के रूप में अच्छे हैं। हालाँकि मैंने आपके प्रश्न की व्याख्या मूल एप्लिकेशन विकास के बारे में की थी। वेब एप्लिकेशन, हालांकि उपयोगकर्ता उन्हें लॉन्च करने के लिए एक आइकन बना सकते हैं - अभी भी 'द्वितीय श्रेणी' के नागरिक हैं।
मैंने सफलता अर्जित की है आईओएस एप्लिकेशन को आईओएस पर क्लेंग टूलचिन का उपयोग करके क्रैकर द्वारा आईओएस एप्लिकेशन का निर्माण किया गया है । मूल रूप से इसमें अपस्ट्रीम क्लैंग और आपके लाइनक्स डिस्ट्रो से llvm टूल शामिल होते हैं, बिल्ड प्रोसेस को सरल बनाने में मदद करने के लिए ऐप्पल लिंकर का एक लिनक्स पोर्ट और कुछ अतिरिक्त टूल (जैसे कि Xcode प्रोजेक्ट्स को मेकफाइल फॉर्मेट में बदलने में)।
यह स्थापित करने के लिए कुछ कदम उठाता है, लेकिन आप एक सॉफ्टवेयर डेवलपर हैं ताकि आपको इसका उपयोग करना पड़े। मैंने डेबियन 7 (व्हीज़ी) ऑनलाइन के लिए आज तक पोस्ट किया:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
अन्यथा आप सामान्य निर्देशों के साथ जाना चाहते हैं जो थोड़े पुराने हैं:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
सौभाग्य।
रोड्स नामक एक ढांचा है ।
अवधारणा रूबी ऑन रेल्स पर आधारित है और आप रूबी और एचटीएमएल में अपना मोबाइल ऐप विकसित करते हैं, और आप अपने कोड को लिनक्स वातावरण में लिख सकते हैं। फिर आप Rhohub पर एक खाता बना सकते हैं , जहां आप कोड ( GitHub के माध्यम से ) जोड़ते हैं , और यह आपको iPhone, ब्लैकबेरी, एंड्रॉइड, विंडोज मोबाइल और सिम्बियन के लिए संकलन करने की अनुमति देता है, सभी एक ही कोड से। आपको iPhone के लिए Objective-C में कोड नहीं करना होगा, न ही Android के लिए Java आदि। यह आपके लिए रूपांतरण करता है। आपको केवल एक iPhone एप्लिकेशन (या फोन के लिए आप विकसित करना चाहते हैं) बनाने के लिए नियमों से चिपके रहने की आवश्यकता है, इसलिए इसे iTunes (या समकक्ष बाजार) में स्वीकार किया जा सकता है।
यह आपको iTunes के साथ ही ऐप को जोड़ने की अनुमति देगा।
हालांकि, मुझे कोई एमुलेटर नहीं मिला है, जिसका अर्थ है कि आपके ऐप का परीक्षण करने के लिए आपको इसे एक iPhone पर रखना होगा, जो एक मिशन है।
मैं इस विकल्प का उपयोग कर रहा हूं क्योंकि मैं सभी फोन के लिए एप्लिकेशन बनाना चाहता हूं और मैं पहले से ही रूबी ऑन रेल का उपयोग करता हूं। अगर आप सिर्फ आईफोन के लिए एक ऐप बनाना चाहते हैं, तो एक मैक में निवेश करें।
उम्मीद है की यह मदद करेगा।
आप सही गैर-जेलब्रेक फोन ऐप्पल के ऐप स्टोर तक सीमित हैं और जो भी नियम लागू करने के लिए ऐप्पल के पास "अधिकार" है, यह पूरी तरह से गैर-क्षेत्रीय क्षेत्र है। हालांकि विकसित करते समय, किसी को Apple से निपटने की ज़रूरत नहीं होगी। आप डिवाइस पर कोड अपलोड करने और इसे परीक्षण करने के लिए उदाहरण के लिए rsync का उपयोग कर सकते हैं।
कुछ हद तक, हाँ, यह संभव है। आप Objective-C कोड टाइप कर सकते हैं और अपने प्रोजेक्ट सेट कर सकते हैं। आप अपने कोड के सी और सी ++ भागों का भी परीक्षण कर सकते हैं।
तुम क्या नहीं कर सकते:
आपको इसके लिए मैक प्राप्त करने की आवश्यकता है। कई टूल चेन उपलब्ध हैं (जैसे विन-चेन) जो वास्तव में आपको विंडोज़ पर आई फोन एप्लीकेशन लिखने और बनाने की सुविधा देता है। विंडोज पर ऑब्जेक्टिव सी कोड बनाने के लिए कई संबंधित ट्यूटोरियल हैं। लेकिन एक समस्या है, इसलिए विकसित किए गए ऐप जेल टूटे हुए आई फोन पर ही काम करेंगे।
हमने कुछ हैक्स को उस पर पाने और ऐप स्टोर में बनाने के लिए देखा है, लेकिन जैसा कि ऐप्पल एसडीके अपडेट करता रहता है, टूल चेन को नियमित अपडेट की आवश्यकता होती है। यह हर समय इसे बनाने के लिए एक परेशानी है। यदि आप तैयार ऐप प्राप्त करना चाहते हैं तो आप उचित मूल्य पर इसके लॉन्च किए गए ऐप आर्कैप्स की मदद भी ले सकते हैं। iphone app विकास
मैंने cocos2d-iphone को GNUstep पर पोर्ट करने का प्रयास किया ताकि आप cocos2d के आधार पर गेम विकसित कर सकें । हालांकि प्रकाशन के लिए आपको एक मैक की आवश्यकता होती है। Cocos2d-GNUstep ।
मैं एक मैक प्राप्त करने की सलाह दूंगा क्योंकि आईओएस सिम्युलेटर ऐप के शुरुआती चरणों में परीक्षण के लिए अद्भुत है। लेकिन मुझे पता है कि हम एक छोटी सी कंपनी के साथ काम करते हैं जो एकता का उपयोग करके विकसित होती है ताकि उन्हें मैक के भार की आवश्यकता न हो। इस तरह उन्हें कार्यालय के लिए केवल एक मैक की आवश्यकता होती है और वह केवल अंतिम निर्माण को संकलित करना है। इसका मतलब यह भी है कि यह एंड्रॉइड पर काम करता है लेकिन यह वास्तव में आपकी बिल्डिंग पर निर्भर करता है क्योंकि यह एक गेम इंजन है। आप सांचा टच मोबाइल जैसे चौखटे का उपयोग करके वेब एप्लिकेशन देखना चाहते हैं
एकता: http://unity3d.com/ Sencha टच: http://www.sencha.com/products/touch/
यदि आप अपने समय को महत्व देते हैं, तो एक मैक खरीदें! मैं एक व्यवहार्य समाधान की पेशकश करने के लिए लिनक्स विकास विकल्पों के बारे में पर्याप्त नहीं जानता, लेकिन ऐसा लगता है कि प्रस्तावित तरीकों में कुछ सुंदर गोल चक्कर काम शामिल हैं। यदि आप iPhone ऐप को गंभीरता से लिखने और बेचने की योजना बनाते हैं, तो मुझे लगता है कि आप मैक मिनी या मैकबुक की लागत को आसानी से प्राप्त कर सकते हैं। :-)
यदि आपको Xcode का उपयोग करके विकसित नहीं किया गया है, तो आपको ऐप्पल द्वारा अनुमोदित अपना ऐप कभी नहीं मिलेगा। कभी नहीँ। यदि आप लिनक्स पर विकसित करने के लिए एसडीके को हैक करते हैं और ऐप्पल को पता चलता है, तो जब आप सेवा करते हैं तो आश्चर्यचकित न हों। मैं एडीसी और iPhone डेवलपर प्रोग्राम का सदस्य हूं। ट्रस्ट, Apple इस बारे में बहुत गंभीर है।
जोखिम न लें, एक मैकबुक या मैक मिनी खरीदें (हाँ एक मिनी एक्सकोड चला सकता है - हालांकि धीरे-धीरे - यदि आप मिनी के साथ जाते हैं तो रैम को बढ़ावा दें)। इसके अलावा, जब मैंने OS X को वीएमवेयर पर चलाने के लिए हैक किया है तो मैंने कभी किसी को वीएमडी पर एक्सकोड चलाते नहीं देखा। इतनी अच्छी किस्मत। और मैं मुसीबत से गुजरने से पहले EULA की जांच करूंगा।
पुनश्च: उपरोक्त पढ़ने के बाद, हाँ मैं सहमत हूँ यदि आप एसडीके हैक करते हैं और लिनक्स पर विकसित होते हैं तो कम से कम मैक पर अंतिम पैकेजिंग करते हैं। और मैक के माध्यम से जमा करें। Apple कोड लाइन के माध्यम से लाइन से नहीं चलता है, इसलिए मुझे संदेह है कि वे इसे पकड़ लेंगे। लेकिन यार, अगर यह बहुत काम की है। हालांकि करने के लिए मजेदार हो। :)