2010-12-15 11 views
13

यह सुनिश्चित करना महत्वपूर्ण है कि ऐपस्टोर में सबमिट किए गए प्रत्येक आईओएस एप्लिकेशन आकार में 20 एमबी से कम है ताकि इसे ओवर-द-एयर डाउनलोड किया जा सके।विकास के दौरान आईओएस .एप बंडल आकार निर्धारित करने का सबसे आसान तरीका क्या है?

मैं उस ऐप पर काम कर रहा हूं जो उस सीमा के करीब हो रहा है, और मुझे पता चला है कि वर्तमान आउटपुट को बताने का एक आसान तरीका नहीं है। एक्सकोड के भीतर से बंडल आकार।

विशेष रूप से एक्सकोड 4 में - डिफ़ॉल्ट रूप से प्रत्येक बिल्ड को पाने और क्रिप्टिक रूप से temp निर्देशिका नाम देने के लिए कठिन परिश्रम किया जाता है। मैं इस डिफ़ॉल्ट व्यवहार को तब तक ओवरराइड नहीं करना चाहता जब तक कि मुझे यह नहीं करना पड़े।

मुझे पता है कि मैं बिल्ड लॉग को देखकर, खोल विंडो खोलकर, उस निर्देशिका में बदलकर और 'du' का उपयोग करके .app बंडल को ट्रैक कर सकता हूं - लेकिन मुझे आशा है कि रखने के लिए एक तेज़ और आसान तरीका ढूंढने की उम्मीद है प्रत्येक नए निर्माण के बाद .app फ़ाइल आकार का ट्रैक।

किसी एप्लिकेशन के आकार को निर्धारित करने के लिए सीधे आईफोन या आईपैड पर भी एक आसान तरीका नहीं है। अधिकतर मैं इसकी सराहना करता हूं - लेकिन जब मैं अनुकूलन के बीच में नहीं हूं।

सर्वोत्तम प्रथाओं पर कोई विचार?

अद्यतन: मैं अपने दिन-प्रति-दिन के विकास के लिए अब एक्सकोड 4 का उपयोग कर रहा हूं, और ऐसा लगता है कि अब तक हर समाधान एक्सकोड 4 पर काम नहीं करता है क्योंकि कार्यक्षमता बदल गई है या विशेषताएं (जैसे संग्रहण) अभी भी जल्द ही आ रहे हैं। मुझे लगता है कि अंतिम जवाब विकास के विशेष चरण के लिए "एक्सकोड 3 का उपयोग" हो सकता है। मुझे पता है कि मुझे अभी भी अंतिम निर्माण और सबमिशन के लिए एक्सकोड 3 का उपयोग करने की आवश्यकता होगी ...

+0

+1! – Linuxmint

उत्तर

2

एक स्क्रिप्ट (perl, bash, AppleScript, जो कुछ भी ...) बनाएं और इसे अपनी बिल्ड स्क्रिप्ट में जोड़ें। स्क्रिप्ट तब जादू स्थान पर सीडी कर सकती है, .app को/tmp, du -s -h परिणामी ज़िप को ज़िपित कर सकती है, और आउटपुट को कुछ लॉग फ़ाइल में पाइप कर सकती है ... हो सकता है कि चमकदार लाल चेतावनी रोशनी भी एक यूएसबी समांतर बंदरगाह पर लगाए जाएं रिले आपको कुछ फ़ाइल आकार सीमा से अधिक चेतावनी देने के लिए।

+0

यह जरूरी नहीं है कि "आसान" विकल्प हो, लेकिन यदि आकार सीमा के तहत रहना वास्तव में महत्वपूर्ण है - यह सुनिश्चित करने के लिए मैंने देखा है कि यह सबसे अच्छा तरीका है। मुझे आश्चर्य है कि किसी ने वास्तव में इस तरह की एक स्क्रिप्ट को अभी तक लागू किया है? – radven

2

असल में, यह .ipa का आकार है, नहीं .app, जो कि 20 एमबी से कम है। चूंकि .ipa एक ज़िप संग्रह है, इसलिए आपको काम करने के लिए थोड़ा और स्थान मिलता है। मुझे पता है कि आकार खोजने का एकमात्र तरीका एक्सकोड में बिल्ड और आर्काइव करना होगा और फ़ाइंडर में फ़ाइल आकार को देखना होगा।

+0

.ipa संपीड़ित ज़िप होने के बारे में अच्छा बिंदु, मैंने इसके बारे में सोचा नहीं था। लेकिन इस मामले में मुझे नहीं लगता कि इससे अधिक मायने रखता है - जेनरेट किए गए संसाधन जो मैं अनुकूलित कर रहा हूं वे पहले ही अत्यधिक संपीड़ित हैं। पीएनजी फाइलें। – radven

+0

बिल्ड और आर्काइव एक्सकोड 4 में एक विकल्प है - लेकिन शेयर कार्यक्षमता जो वास्तव में आपको संग्रह में आने देती है, वह अभी भी "जल्द ही आ रही है" प्रतीत होती है। मुझे इस काम के लिए एक्सकोड 3 पर वापस जाना पड़ सकता है ... – radven

11

जहां मैं काम करता हूं, हम एक संग्रह फॉर्म एक्सकोड (बिल्ड और आर्काइव) बनाते हैं और फिर हम ऑर्गनाइज़र विंडो (शेयर बटन का उपयोग करके) पर डिस्क पर उस संग्रह को निर्यात करते हैं।

यह एक .ipa फ़ाइल उत्पन्न करेगा। उस फ़ाइल का आकार वह है जिसे आप ढूंढ रहे हैं।

+0

आकार अनुकूलन करते समय, यह जाने के लिए कई बार दोहराए जाने वाले कदम हैं। एक संग्रह बनाना, इसे निर्यात करना, इसे मापना, फिर निर्यात की गई फ़ाइल और संग्रह दोनों को हटाने में काफी समय लगता है। मैं एक आसान तरीका की उम्मीद कर रहा हूं, लेकिन शायद कोई भी नहीं हो सकता है। – radven

+0

आह - और मैंने अभी पाया है कि संग्रह/साझा कार्यक्षमता अभी तक XCode4 में लागू नहीं है। हम्मम्म .... – radven

+0

यह सबसे अच्छा जवाब है – barfoon

3

आपके एक्सकोड प्रोजेक्ट में 'उत्पाद' फ़ोल्डर होना चाहिए। उस फ़ोल्डर के अंदर आपकी .app फ़ाइलें होंगी। अपनी फ़ाइल पर राइट क्लिक करें और 'फाइंडर में प्रकट करें' का चयन करें।

+0

मुझे लगता है कि यह एक्सकोड 3 में काम करता है, लेकिन हालांकि XCode4 में उत्पाद फ़ोल्डर अभी भी है - फिर भी जब आप राइट क्लिक करते हैं तो "खोजकर्ता में प्रकट होता है" विकल्प नहीं होता है। – radven

+0

बस एक्सकोड 4 के अपने संस्करण की जांच की और "फाइंडर में दिखाएं" नामक एक विकल्प था जो एक ही काम करने लग रहा था। – aepryus

+0

मुझे "फाइंडर में दिखाएं" विकल्प दिखाई देता है, लेकिन ऐसा लगता है कि मेरी सभी परियोजनाओं में ग्रे हो गया है। क्या यह वास्तव में आपके लिए काम करता है, या शायद यह एक अनुपूरक सुविधा है? – radven

0

आपके द्वारा ऐप्पल को भेजी गई फ़ाइल एक .zip फ़ाइल है, यह आपकी संपीड़ित बाइनरी फ़ाइल है। उदाहरण के लिए, मैं एक ऐप पर काम कर रहा हूं जो 120 एमबी से अधिक असम्पीडित है लेकिन लगभग 1 9 एमबी तक संपीड़ित है क्योंकि यह ज्यादातर डेटा है। मुझे लगता है कि आपके पास बहुत ढीला है, आपकी अधिकांश फ़ाइलें संपीड़ित प्रारूप नहीं हैं। एक अच्छी तरह से वर्णित प्रश्न के लिए

संबंधित मुद्दे