PyObjC का उपयोग करते हुए , आप OS X के लिए कोकोआ एप्लिकेशन लिखने के लिए पायथन का उपयोग कर सकते हैं। क्या मैं पायथन का उपयोग करके देशी आईफोन एप्लिकेशन लिख सकता हूं और यदि हां, तो कैसे?
PyObjC का उपयोग करते हुए , आप OS X के लिए कोकोआ एप्लिकेशन लिखने के लिए पायथन का उपयोग कर सकते हैं। क्या मैं पायथन का उपयोग करके देशी आईफोन एप्लिकेशन लिख सकता हूं और यदि हां, तो कैसे?
जवाबों:
वर्तमान में नहीं, वर्तमान में केवल iPhone SDK तक पहुँचने के लिए उपलब्ध भाषाएँ C / C ++, Objective C और Swift हैं।
ऐसा कोई तकनीकी कारण नहीं है कि यह भविष्य में परिवर्तित न हो सके, लेकिन अल्पावधि में ऐसा होने के लिए मैं आपकी सांस नहीं रोकूंगा।
उस ने कहा, ऑब्जेक्टिव-सी और स्विफ्ट वास्तव में बहुत डरावने नहीं हैं ...
2016 संपादित करें
NativeScript फ्रेमवर्क के साथ जावास्क्रिप्ट अब उपयोग के लिए उपलब्ध है।
Jay Freeman (saurik) द्वारा उत्कृष्ट कार्य के कारण, आप iPhone पर PyObjC का उपयोग कर सकते हैं। पायथन में iPhone अनुप्रयोग देखें ।
ध्यान दें कि इसके लिए फिलहाल जेलब्रेक iPhone की आवश्यकता है।
ऐसा लगता है कि अब कुछ डेवलपर्स को ऐसा करने की अनुमति दी गई है: आईओएस डेवलपर समझौता कल बदल दिया गया था और ऐसा प्रतीत होता है कि इस तरह से संशोधित किया गया है कि आपके आवेदन में पायथन व्याख्याकार को एम्बेड करना कानूनी हो:
खंड २.३.२ - साक्षात्कारकर्ता
पुराना:
3.3.2 कोई एप्लिकेशन किसी भी तरह से अन्य निष्पादन योग्य कोड को स्थापित या लॉन्च नहीं कर सकता है, जिसमें प्लग-इन आर्किटेक्चर के उपयोग के माध्यम से सीमा के बिना, अन्य फ्रेमवर्क, अन्य एपीआई या अन्यथा कॉल करना शामिल है। जब तक लिखित रूप से Apple द्वारा अनुमोदित नहीं किया जाता है, तब तक किसी भी व्याख्या किए गए कोड को किसी एप्लिकेशन में डाउनलोड या उपयोग नहीं किया जा सकता है सिवाय उस कोड के जिसे एप्पल के डॉक्यूमेंटेड एपीआई और बिल्ट-इन दुभाषिया (ओं) द्वारा व्याख्या और चलाया जाता है। पूर्वगामी के बावजूद, Apple की पूर्व लिखित सहमति के साथ, एक अनुप्रयोग सीमित व्याख्या किए गए कोड का उपयोग सीमित तरीके से कर सकता है यदि ऐसा उपयोग पूरी तरह से मामूली विशेषताओं या कार्यक्षमता प्रदान करने के लिए है जो अनुप्रयोग के इच्छित और विज्ञापित उद्देश्य के अनुरूप हैं।
नया:
3.3.2 एक एप्लिकेशन निष्पादन योग्य कोड को डाउनलोड या इंस्टॉल नहीं कर सकता है। यदि किसी स्क्रिप्ट, कोड और दुभाषियों को एप्लिकेशन में पैक किया जाता है और डाउनलोड नहीं किया जाता है, तो व्याख्या किए गए कोड का उपयोग केवल किसी एप्लिकेशन में किया जा सकता है। पूर्वगामी के लिए एकमात्र अपवाद है Apple के बिल्ट-इन WebKit फ्रेमवर्क द्वारा डाउनलोड और चलाया जाना।
हाँ तुम कर सकते हो। आप अपना कोड tinypy (जो Python प्रतिबंधित है) में अपना कोड लिखें, फिर इसे C ++ में बदलने के लिए tinypy का उपयोग करें, और अंत में XCode के साथ एक देशी iPhone ऐप में इसे संकलित करें। फिल हसी ने हाथियों नामक एक गेम प्रकाशित किया है! इस दृष्टिकोण का उपयोग कर। यहाँ अधिक विवरण हैं,
http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/
जी हां, आजकल आप पायथन में iOS के लिए ऐप विकसित कर सकते हैं।
दो चौखटे हैं जो आप चेकआउट करना चाहते हैं: किवी और पायमोब ।
कृपया इस प्रश्न के उत्तर पर भी विचार करें , क्योंकि वे इस से अधिक अद्यतित हैं।
IOS डेवलपर अनुबंध को अपडेट करने का मतलब है कि जब तक आप डेवलपर दिशानिर्देशों को पूरा करते हैं, तब तक आप जो चाहें उपयोग कर सकते हैं। धारा 3.3.1, जो प्रतिबंधित करता है कि डेवलपर्स आईओएस विकास के लिए क्या उपयोग कर सकते हैं, को पूरी तरह से हटा दिया गया है।
स्रोत: http://daringfireball.net/2010/09/09/app_store_guidelines
पाइथोनिस्टा में एक्सपोर्ट टू एक्सकोड फीचर है जिससे आप अपनी पायथन स्क्रिप्ट्स को एक्सकोड प्रोजेक्ट्स के रूप में एक्सपोर्ट कर सकते हैं जो स्टैंडअलोन आईओएस एप्स का निर्माण करते हैं।
https://github.com/ColdGrub1384/Pyto भी देखने लायक है।
IPhone SDK समझौता इस बारे में भी अस्पष्ट है कि क्या आपको स्क्रिप्टिंग भाषाएं चलाने की अनुमति है (किसी WebView के जावास्क्रिप्ट के बाहर)। मेरा पढ़ना यह है कि यह ठीक है - जब तक कि आपके द्वारा निष्पादित की जाने वाली कोई भी स्क्रिप्ट नेटवर्क से डाउनलोड नहीं की जाती है (इसलिए पूर्व-स्थापित और उपयोगकर्ता-संपादित स्क्रिप्ट ठीक लगती हैं)।
IANAL आदि आदि।
2019 अपडेट:
जबकि पायथन-आईओएस विकास अपेक्षाकृत अपरिपक्व है और संभावना है कि आपके ऐप को देशी UI और कार्यक्षमता से रोका जा सकेगा जो कि Apple-समर्थित विकास भाषा में प्राप्त किया जा सकता है, Apple अब मूल स्विफ्ट या ओज-सी में पायथन दुभाषियों को एम्बेड करने की अनुमति देता है। क्षुधा।
यह आपके नेटिव स्विफ्ट / ओबज-सी कोड से सीधे पायथन पुस्तकालयों को आयात करने और पायथन स्क्रिप्ट (यहां तक कि आपूर्ति की गई कमांड-लाइन तर्कों के साथ) चलाने का समर्थन करता है।
मेरी कंपनी वास्तव में एक मूल आईओएस एप्लिकेशन में हमारे बुनियादी ढांचे (मूल रूप से पायथन में लिखे गए) को लपेट रही है! यह बहुत अच्छी तरह से काम करता है और भागों के बीच संचार क्लाइंट-सर्वर मॉडल के माध्यम से आसानी से प्राप्त किया जा सकता है।
यदि आप अपने iOS ऐप में पायथन स्क्रिप्ट्स को चलाना और चलाना चाहते हैं, तो कुकीजवेयर टेम्प्लेट के साथ सावधान रहें, यहाँ एक अच्छी लाइब्रेरी है: https://github.com/beeware/Python-Apple-support/tree/3.6 ।
तकनीकी रूप से, जब तक व्याख्या किए गए कोड ISN'T को डाउनलोड नहीं किया जाता (जावास्क्रिप्ट को छोड़कर), ऐप को मंजूरी दी जा सकती है। Rhimoiles "Rhodes" फ्रेमवर्क बस यही करता है, मोबाइल रूबी, रेल का हल्का संस्करण और ऐप-स्टोर के माध्यम से वितरण के लिए आपका ऐप। क्योंकि दुभाषिया और व्याख्या किए गए कोड दोनों को अंतिम अनुप्रयोग में पैक किया गया है - Apple को यह आपत्तिजनक नहीं लगता है।
http://rhomobile.com/products/rhodes/
यहां तक कि नवीनतम ऐप्पल प्रेस रिलीज़ के बाद भी - रोड्स ऐप (मोबाइल रूबी) अभी भी ऐप-स्टोर पर व्यवहार्य हैं। मुझे यह विश्वास करना मुश्किल है कि अगर कोई इच्छुक डेवलपर समुदाय है, तो smallPy या pyObjC को कोई स्थान नहीं मिलेगा।
आप ऐसा कर सकते हैं PyObjC के साथ, जेलब्रेक फोन के साथ। लेकिन अगर आप इसे ऐप स्टोर में लाना चाहते हैं, तो वे इसे अनुमति नहीं देंगे क्योंकि यह "कोड की व्याख्या करता है।" हालाँकि, आप शेड स्किन का उपयोग करने में सक्षम हो सकते हैं , हालांकि मुझे ऐसा करने वाले किसी के बारे में पता नहीं है। मैं ऐसा करने के लिए किसी भी अच्छे कारण के बारे में नहीं सोच सकता, हालांकि आप डायनामिक टाइपिंग खो देते हैं, और साथ ही ओबीसी का उपयोग कर सकते हैं।
IPhone विकास के लिए केवल महत्वपूर्ण "बाहरी" भाषा है कि मैं चौखटे और अनुकूलता के मामले में अर्द्ध महत्वपूर्ण समर्थन के साथ के बारे में पता कर रहा हूँ है MonoTouch , iPhone पर विकसित करने के लिए एक सी # /। NET पर्यावरण।
मुझे लगता है कि यह पहले संभव नहीं था, लेकिन मैंने हाल ही में PyMob के बारे में सुना है, जो दिलचस्प लगता है क्योंकि ऐप पाइथन में लिखे गए हैं और अंतिम आउटपुट विभिन्न प्लेटफार्मों में देशी स्रोत कोड हैं (आईओएस के लिए ओबज-सी, एंड्रॉइड के लिए जावा आदि)। यह निश्चित रूप से काफी अनोखा है। यह वेबपृष्ठ इसे और अधिक विस्तार से बताता है।
मैं इसे अभी तक एक शॉट नहीं दिया है, लेकिन जल्द ही एक नज़र रखना होगा।