2011-02-09 15 views
48

क्या ऐप्पल नए मैक ऐप स्टोर पर वितरण के लिए पायथन एप्लिकेशन स्वीकार करता है?क्या मैक ऐप स्टोर पर पाइथन एप्लिकेशन को तैनात करना संभव है?

यदि हां, तो आवेदन को कैसे पैक किया जाना चाहिए? क्या py2app पर्याप्त है? कुछ और?

+1

एक इनाम शुरू। क्या किसी ने वास्तव में ऐसा किया है? वर्तमान उत्तर अस्पष्ट हैं। – FogleBird

उत्तर

55

मैंने पैनीवाइड पैक किया, जो मैक ऐप स्टोर पर उपलब्ध है। यह वर्जिन के पैसेगुरु पर आधारित है, जो पाइथन, पायओबीजेसी और पी 2 2 ऐप का उपयोग करता है।

आपको Apple's process for preparing an application for submission to the Mac App Store का पालन करना होगा। सबसे महत्वपूर्ण बात यह है कि आप अपनी Info.plist पर उचित कुंजी जोड़ना चाहेंगे, और किसी भी स्वचालित अद्यतन तंत्र को हटा दें, उदा। चमक। यह कड़ाई से जरूरी नहीं है, लेकिन आप शायद implement receipt checking भी चाहेंगे। एक्सकोड का उपयोग करने से सबमिशन प्रक्रिया बहुत आसान हो जाएगी। बिल्ड प्रक्रिया के अंतिम भाग के रूप में एक्सकोड का उपयोग करने के उदाहरण के लिए आप the moneyGuru source code देख सकते हैं।

Py2app बंडल में पाइथन फ्रेमवर्क की एक प्रति एम्बेड करता है, इसलिए मुझे नहीं पता कि ऐप्पल एक ऐसे एप्लिकेशन को स्वीकार करेगा जो केवल सिस्टम ढांचे से जुड़ा हुआ है। जबकि प्राथमिक बाइनरी पीपीसी का समर्थन नहीं कर सकती है, ऐप्पल एम्बेडेड ढांचे में बाइनरी के आर्किटेक्चर की जांच नहीं कर रहा है।

एक अंतिम चेतावनी: मैं नए अनुप्रयोगों को लिखने के लिए इस प्रक्रिया की सिफारिश नहीं करता। पायथन, पीओओबीजेसी, और पी 2 2 का उपयोग गंभीरता से निर्माण प्रक्रिया को जटिल बनाता है और अतिरिक्त निर्भरताओं को प्रस्तुत करता है।

5

हां, यह संभव है, जब तक आप अनुमोदन दिशानिर्देशों के पूर्ण सेट का पालन करते हैं। इसका मतलब है कि पाइथन दुभाषिया को आपके आवेदन में बंडल करना होगा, उदाहरण के लिए।

आवश्यकताओं की एक पूरी सूची के लिए यहाँ देखें: तो यह एप्लिकेशन स्टोर द्वारा समर्थित होना चाहिए

https://developer.apple.com/appstore/mac/resources/approval/guidelines.html

+0

यह मदद करता है, लेकिन वास्तव में वास्तव में कवर नहीं करता है कि एक सफल सबमिशन (मेरे प्रश्न का दूसरा भाग) कैसे पैकेज करें। – FogleBird

+0

निर्देशों ने एक्सकोड और संबंधित पैकेजिंग टूल का उपयोग करने के लिए कहा, मैंने सोचा। – blueberryfields

+2

"इसका मतलब है कि पाइथन दुभाषिया को आपके आवेदन में बंडल करना होगा, उदाहरण के लिए।"आपको यह आवश्यकता कहां से मिल रही है? '/ सिस्टम/लाइब्रेरी/फ्रेमवर्क/पायथन.फ्रेमवर्क' – Miles

1

एप्पल Xcode के साथ अजगर के लिए बिल्ड एप्लेट उपकरण प्रदान करता है। मैकोज़ एक्स 10.6.6 में डिफ़ॉल्ट इंस्टॉल के हिस्से के रूप में पायथन 2.5 और 2.6 शामिल हैं, आप /usr/bin/python2.5 और /usr/lib/python2.5 निर्दिष्ट कर सकते हैं।

9

मुझे पता है कि यह संभव है क्योंकि मुझे कम से कम एक पायथन-आधारित ऐप पता है जो ऐप स्टोर में है ("Pennywise", जो कि मेरे अपने ऐप पर आधारित है, मनीगुरु, जो पाइथन + पायओब्जेक + पी 2 2 ऐप का उपयोग करता है)। मैंने इसे स्वयं नहीं किया, इसलिए मुझे विवरणों के बारे में निश्चित नहीं है।

+2

बहुत बढ़िया, मैंने सिर्फ Pennywise डेवलपर को ईमेल किया और कहा कि वह एक पोस्ट करेगा आज यहां जवाब दें। – FogleBird

6

मैंने मैक ऐप स्टोर में पाइथन ऐप बनाने और सबमिट करने का एक व्यापक लेख लिखा है। इसमें स्रोत कोड शामिल है और एक बेयरबोन उदाहरण ऐप के लिए स्क्रिप्ट बनाएं जिन्हें मैंने सफलतापूर्वक सबमिट किया है।

+0

मुझे यह अजीब लगता है कि आपने ऐप स्टोर में पाइथन स्क्रिप्ट अपलोड करने के लिए प्रक्रिया के विभिन्न हिस्सों को स्वचालित करने के लिए एक पायथन स्क्रिप्ट के बजाय एक शेल स्क्रिप्ट लिखी है। – ArtOfWarfare

+0

हाँ मुझे लगता है कि यह थोड़ा मजाकिया है। चूंकि अधिकांश प्रक्रियाएं केवल अन्य सीएलआई उपकरण चला रही हैं और वहां बहुत भारी सत्यापन या अमूर्तता नहीं है, खोल एस पट्टियां ठीक तरह से काम करती हैं। - अन्य परियोजनाओं में मैंने जो अधिक जटिल खोल स्क्रिप्ट लिखी हैं उन्हें अंततः पायथन स्क्रिप्ट में पदोन्नत किया गया था। –