2015-01-16 9 views
12

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

कभी-कभी, एक परियोजना की संपत्ति हमेशा मेरे सिम्युलेटर या डिवाइस पर अपडेट नहीं होती है। यह ज्यादातर परीक्षण और त्रुटि है, और जब मुझे लगता है कि एक पुरानी संपत्ति ने टेस्ट बिल्ड में अपना रास्ता बनाया है, तो यह बहुत देर हो चुकी है, शर्मनाक नहीं है!

मैं इस सवाल को देखा है, लेकिन यह एक छोटे से पुराना लगता है: How to Empty Caches and Clean All Targets Xcode 4

मैं भी इस सवाल की जाँच की है, लेकिन मैं नहीं है आयोजक में समय बर्बाद करने के लिए, अगर मैं बिल्कुल नहीं चाहते की आवश्यकता है: How to "Delete derived data" in Xcode6?

मैंने वहां अन्य पोस्टों को देखा है, लेकिन कुछ भी नहीं मिला जो विश्वसनीय रूप से एक परियोजना की सफाई करने की समस्या हल करता है और एक स्क्रिप्ट के साथ समय बचाता है।

+0

इसे देखें: http://iosdevcenters.blogspot.in/2015/12/how-to-delete-derived-data-and-clean.html –

उत्तर

23

यह मूल रूप से दो या तीन-चरण की प्रक्रिया है, जो सभी कैश किए गए संपत्तियों की परियोजना को साफ़ करता है।

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

  1. स्वच्छ अपनी परियोजना - Cmd - कश्मीर
  2. एक खोल स्क्रिप्ट (विवरण नीचे) को फोन करके ली गई डेटा हटाएं, अपने बैश प्रोफ़ाइल
  3. स्थापना रद्द की ओर से एप्लिकेशन में परिभाषित किया गया सिम्युलेटर या डिवाइस।
  4. संपत्ति के कुछ प्रकार के लिए, आप भी (आईओएस सिम्युलेटर मेनू के तहत) सिम्युलेटर पुनर्स्थापित करने के लिए

नीचे खोल स्क्रिप्ट फोन के लिए, बस में प्रवेश समारोह का नाम (प्रवेश इस मामले 'ddd' में हो सकता है) अपने टर्मिनल में, यह मानते हुए कि यह आपके बैश प्रोफाइल में है। एक बार जब आप अपने बैश प्रोफ़ाइल सहेज लेते हैं, अपने टर्मिनल के वातावरण अपडेट करने का नहीं है अगर आप इसे खुला रखा, स्रोत कमांड के साथ:
source ~/.bash_profile

ddd() { 
    #Save the starting dir 
    startingDir=$PWD 

    #Go to the derivedData 
    cd ~/Library/Developer/Xcode/DerivedData 

    #Sometimes, 1 file remains, so loop until no files remain 
    numRemainingFiles=1 
    while [ $numRemainingFiles -gt 0 ]; do 
     #Delete the files, recursively 
     rm -rf * 

     #Update file count 
     numRemainingFiles=`ls | wc -l` 
    done 

    echo Done 

    #Go back to starting dir 
    cd $startingDir 
} 

मुझे आशा है कि मदद करता है, खुश कोडिंग!

+9

आपको एक स्क्रिप्ट की आवश्यकता क्यों है? बस 'आरएम-आरएफ ~/लाइब्रेरी/डेवलपर/एक्सकोड/व्युत्पन्न डेटा/* '। – OrangeDog

+0

कभी-कभी, एक या अधिक फ़ाइलें लॉक होती हैं या कुछ अन्य संपत्ति होती है जो उन्हें तुरंत हटाए जाने से रोकती है। स्क्रिप्ट इस के लिए जांच करता है और जब तक यह सफल नहीं होता है या रद्द हो जाता है तब तक पुनः प्रयास करता है। साथ ही, टर्मिनल में डीडीडी टाइप करना मेरे इतिहास में अंतिम आरएम कमांड पर वापस तीर करने या आरएम कमांड टाइप करने से बहुत तेज़ है। – Sheamus

+3

निर्देशिका के तहत फ़ाइलों को हटाने से पहले बस एक्सकोड छोड़ दें। –

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