2009-12-14 6 views
7

में स्वच्छ/साफ सभी के दौरान स्क्रिप्ट स्क्रिप्ट चलाएं मेरे पास एक बहुत ही जटिल (आईफोन एसडीके) एक्सकोड प्रोजेक्ट है, जिसमें कई लक्ष्य हैं - 4 स्थैतिक libs, यूनिट परीक्षण, एकाधिक नमूना ऐप्स, एक BuildAll जो शैल स्क्रिप्ट चलाता है, और एक पैकेज जो एक और खोल स्क्रिप्ट चलाता है। "BuildAll" लक्ष्य कुछ उपनिर्देशिकाओं के साथ प्रोजेक्ट में निर्देशिका के लिए तैयार सामग्री के साथ एक निर्देशिका बनाता है।एक्सकोड

जब मैं "सभी साफ़ करें" पर क्लिक करता हूं, हालांकि, एक्सकोड मेरी वितरण निर्देशिका को साफ़ करने के बारे में नहीं जानता है। मुझे यह पसंद है मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है - क्या कोई जानता है कि कैसे?


यह वास्तव में सिर्फ Xcode में लक्ष्य होना चाहिए स्वच्छ और साफ सभी की तरह लगता है, और मैं एक "रन स्क्रिप्ट" चरण जोड़ने के लिए सक्षम होना चाहिए। ऐसा नहीं, मेरे ज्ञान के लिए।

बीटीडब्ल्यू, "बिल्डएल" लक्ष्य वितरण निर्देशिका की सफाई करने में संभालता है, इसलिए यह मेरे लिए दुनिया का अंत नहीं है। यह सिर्फ परेशान है कि "स्वच्छ सभी" वास्तव में मेरे विशेष मामले में सभी को साफ नहीं करता है।

उत्तर

0

आप कोशिश कर सकते हैं करने के लिए जोड़ें> नया लक्ष्य ...> शैल स्क्रिप्ट लक्ष्य नियंत्रण क्लिक करके समूह & फ़ाइलें में एक लक्ष्य नोड पर।

फिर, एक भागो स्क्रिप्ट नोड आप सेटअप किसी भी सफाई-परिदृश्य $ कार्रवाई चर का उपयोग कर पर डबल क्लिक करने के बाद मान स्वच्छ, स्थापित करते हैं, आदि

और अंत में, नव निर्मित हो सकता है शेल स्क्रिप्ट लक्ष्य मुख्य लक्ष्य में निर्भरता के रूप में जोड़ा जाना चाहिए।

+1

क्या "शैल स्क्रिप्ट लक्ष्य" एक "शैल स्क्रिप्ट बिल्ड चरण" के साथ एक खाली लक्ष्य से अलग है? मैंने अपने ऐप लक्ष्यों में बिल्ड चरण जोड़े हैं और $ ACTION पर्यावरण चर की जांच की है, लेकिन ऐसा लगता है जैसे एक्सकोड स्क्रिप्ट को साफ़ पर नहीं चलाता है। – benzado

+2

हां, ऐसा लगता है कि एक्सकोड प्रोजेक्ट का निर्माण होने पर लक्ष्य और बिल्ड चरणों में अलग-अलग वर्कफ़्लो होते हैं। – Stream

+1

यह "शैल स्क्रिप्ट लक्ष्य" के साथ बिल्कुल भी काम नहीं करता है। आपको एक "बाहरी लक्ष्य" की आवश्यकता होगी, जैसा कि निम्न लिंक कहता है: http://log.yeahrightkeller.com/post/270155578/run-script-while-cleaning-in-xcode – moala

2

आप एक बाहरी स्क्रिप्ट में सफाई करने वाले "बाहरी लक्ष्य" को जोड़ सकते हैं, और उस लक्ष्य को अपने स्थिर लाइब्रेरी लक्ष्यों में से एक की निर्भरता के रूप में जोड़ सकते हैं। लक्ष्य बनाएं, और इसे अपने स्थिर लाइब्रेरी लक्ष्यों में से एक के अंतर्गत खींचें। स्क्रिप्ट में $ ACTION पर्यावरण चर का उपयोग कर कार्रवाई के लिए जांचें।

+0

क्या यह अभी भी अद्यतित है? मुझे एक्सकोड 6 –

+1

का उपयोग कर एक "बाहरी लक्ष्य" विकल्प नहीं मिल रहा है ... इस $ ACTION env var क्या है? क्या यह आपको बताता है कि आप किस चरण-चरण में दौड़ रहे हैं? मुझे नहीं पता था कि सफाई के दौरान कोई भी बिल्ड-चरण चलाया गया था ... –