2011-05-23 15 views
5

एक्सकोड 4 सब कुछ बनाता है $HOME/Library/Developer/Xcode/DerivedData/$PROJECT-$UUID में सबकुछ बनाता है, जहां $UUID एक प्रतीत होता है यादृच्छिक स्ट्रिंग है (यह वास्तव में यादृच्छिक नहीं है, यह केवल यादृच्छिक दिखता है)।xcode4: प्रोजेक्ट/वर्कस्पेस

मैं उपरोक्त के $PROJECT-$UUID भाग का भरोसेमंद तरीके से कैसे पता लगा सकता हूं? मैंने एक स्क्रिप्ट (https://gist.github.com/949831) देखी है जो अनुमान लगाकर अनुमानित है कि यह DerivedData में अंतिम संशोधित निर्देशिका है - लेकिन यह सच नहीं है कि मेरी सीआई मशीन समानांतर में कुछ परियोजनाओं का निर्माण कर रही है।

उत्तर

7

किसी ने उत्तर नहीं दिया, इसलिए मैंने विचारों की तलाश जारी रखी जब तक कि मुझे नीचे एक नहीं मिला, जो मेरी आवश्यकताओं को पूरा करता है। इसे और भी सुरक्षित होने के लिए संशोधित किया जा सकता है।

  1. एक्सकोड में, लक्ष्य में एक रन-स्क्रिप्ट बिल्ड चरण जोड़ें (मुख्य लक्ष्य, यदि एक ही प्रोजेक्ट के लिए कुछ बिल्डिंग हो)।

ln -sf "$BUILD_DIR" BuildDir

अब, जब लक्ष्य परियोजना के DerivedData निर्देशिका में एक सिमलिंक बनाया गया है परियोजना निर्देशिका में बनाया जाएगा:

  • स्क्रिप्ट में, इस लाइन डाल दिया। वांछनीय हैं, तो आप भी/बजाय BuildDir जो सामग्री $ BUILD_DIR है एक फ़ाइल के रूप में बना सकते हैं:

    echo "$BUILD_DIR" > BuildDir

    फिर एक स्क्रिप्ट उपयोग $(cat BuildDir) में इसे पुनः प्राप्त करने।

  • +0

    महान टिप ... धन्यवाद – Fattie

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