क्या मैं Xcode व्युत्पन्न डेटा फ़ोल्डर की सामग्री को सुरक्षित रूप से हटा सकता हूं?


293

मैं डिस्क स्थान पर कम चल रहा हूं और तीसरे पक्ष की उपयोगिता के माध्यम से जांच की गई है कि अन्य चीजों के बीच ~ ~ लाइब्रेरी / डेवलपर / Xcode / DerivedData निर्देशिका लगभग 22GB डिस्क स्थान ले रही है।

मैंने stackoverflow को खोजा और इस पोस्ट को पाया

मैं अपनी ~ / लाइब्रेरी / डेवलपर / Xcode / DerivedData निर्देशिका को सुरक्षित रूप से कैसे हटा सकता हूं?

इस प्रश्न का स्वीकृत उत्तर बताता है कि मुझे इस निर्देशिका से फ़ोल्डर को स्पर्श / हटा नहीं करना चाहिए। तो मैंने जो किया था

  • एक ऐप के लिए एक मौजूदा बिल्ड प्रोजेक्ट फ़ोल्डर मिला जो मैंने ऐपस्टोर पर उपलब्ध है
  • व्युत्पन्न dir से फ़ोल्डर हटा दिया गया
  • लॉन्च XCode 5
  • उस प्रोजेक्ट को खोलें
  • साफ बिल्ड
  • परीक्षण किया और इसे एक सिम्युलेटर पर संकलित किया
  • ReArchived
  • सब कुछ काम कर गया। कुछ भी नहीं टूटा था।

जब तक मैं उस पोस्ट के उत्तर में कुछ याद नहीं करता, मैं अनुभवी डेवलपर्स से पूछकर यह सुनिश्चित करना चाहता हूं कि यदि मैं DerivedData से सभी फ़ोल्डरों को हटा देता हूं तो यह उन परियोजनाओं के निर्माण, परीक्षण और संकलन में मुझे नुकसान नहीं पहुंचाएगा।


संदर्भित प्रश्न का स्वीकृत उत्तर stackoverflow.com/a/7284632/8047 है जो कि DerivedData से नहीं हटाने के बारे में कुछ नहीं कहता है ... हालाँकि अभिलेखागार बाद में सामान को डीबग करना महत्वपूर्ण है, लेकिन यह एक अलग निर्देशिका है।
दान रोसेनस्टार्क

जवाबों:


372

हां, आप DerivedDataउप-फ़ोल्डर से सभी फ़ाइलों को (Not DerivedData Folder)सीधे हटा सकते हैं।

जो आपके प्रोजेक्ट कार्य को प्रभावित नहीं करेगा। DerivedDataबिल्ड समय के दौरान फ़ोल्डर की सामग्री उत्पन्न होती है और आप चाहें तो उन्हें हटा सकते हैं। यह कोई मुद्दा नहीं है।

DerivedDataजब आप अपनी परियोजनाओं को फिर से बनाएंगे, तब सामग्री को फिर से बनाया जाएगा।

Xcode8 + अपडेट करें

Xcode8 से जिसने विंडो टैब से प्रोजेक्ट विकल्प को हटा दिया है ताकि आप अभी भी पहले तरीके का उपयोग कर सकें:

Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.

Xcode7.3 अपडेट विशेष परियोजना के DeriveData को हटाने के लिए आपको बस निम्नलिखित चरणों का पालन करने की आवश्यकता है:

यहां जाएं Window -> Project:

यहां छवि विवरण दर्ज करें

आप परियोजना की सूची पा सकते हैं और आप या तो DerivedDataफ़ोल्डर जा सकते हैं या आप अलग-अलग प्रोजेक्ट को हटा सकते हैंDerivedData

यहां छवि विवरण दर्ज करें


मैं Xcode5 पर काम नहीं कर रहा हूं, लेकिन 4.6.3 में आप DerivedDataफ़ोल्डर को नीचे की छवि के अनुसार पा सकते हैं :

यहां छवि विवरण दर्ज करें

प्राथमिकताएं पर क्लिक करने के बाद ..

यहां छवि विवरण दर्ज करें

आपको यह विंडो मिलती है

यहां छवि विवरण दर्ज करें


1
दोस्त बहुत - बहुत धन्यवाद। क्या "व्युत्पन्न डेटा" सामग्री मूल रूप से Xcode की कैश्ड और अवांछित फ़ाइलों की तरह है? तो यह स्पष्ट करने के लिए इसे हटाने के लिए क्यों ठीक है?
Supertecnoboff

1
@ आप किस बारे में बात कर रहे हैं? निर्मित फ़ाइलों को कहीं जाना है।
ड्रॉपी

2
खैर, सीएमके और अन्य मेक सिस्टम के साथ, आउट-ऑफ-सोर्स बिल्ड के साथ भी, जेनरेट की गई फाइलें आदि अभी भी प्रोजेक्ट के पथ के अंदर हैं, और यदि मैं एक साफ-सुथरा प्रदर्शन करता हूं, तो मैं फ़ोल्डर संरचना को हटा देता हूं या साफ कर देता हूं। चूंकि मैं हर हफ्ते या तो लगभग 100 असाइनमेंट्स को चिह्नित कर रहा हूं, इसलिए मुझे उन फ़ाइलों का एक विशाल बिल्ड मिलता है, जिन्हें मुझे मैन्युअल रूप से डिलीट करने और XCode UI का उपयोग करने, प्रत्येक प्रोजेक्ट के डेटा को व्यक्तिगत रूप से याद रखने की आवश्यकता होती है। इसलिए मैं अपनी पिछली टिप्पणी के साथ खड़ा हूं, हालांकि मैंने अब अपने .bashrc में विलियम के उपनाम को लागू कर दिया है।
चला गया

XCode 8 फिर से चीजों को बदलता है (यह हमेशा गधे में दर्द रहा है)। अब, हमें मैन्युअल रूप से फ़ोल्डर में जाने /Users/YourUsername/Library/Developer/Xcode/DerivedDataऔर उन सभी को हटाने की आवश्यकता है। जैसा कि आपने XCode 7 के लिए संपादित किया है, मैंने सोचा कि आप इसे XCode 8 के लिए फिर से संपादित करना चाह सकते हैं
sweta.me

1
आप मेरे पूर्ण उत्तर की जांच कर सकते हैं, एक ही पुराने में एक से अधिक उत्तर हैं जो अभी भी पसंद और स्थान टैब से जाने के लिए काम कर रहे हैं। :)
नितिन गोहेल

124

मैं व्युत्पन्न डिटैड अक्सर पर्याप्त करता हूं कि मेरे पास इसके लिए एक उपनाम है। यह बिल्ड समस्याओं को ठीक कर सकता है। मेरे पास /User/Myusername/.bash_profile में निम्नलिखित हैं

alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'

फिर टर्मिनल में, मैं purgeallbuilds टाइप करता हूं, और DerivedData के सभी सबफ़ोल्डर्स हटा दिए जाते हैं।


24
आप DerivedData फ़ोल्डर को स्वयं हटा सकते हैं। इसे बस फिर से बनाया जाएगा।
निक लॉकवुड

1
जब मैं इस फ़ोल्डर को हटाता हूं तो तुरंत Xcode 8 में निर्माण विफल हो जाता है। एक बार जब मैंने इसे जोड़ा तो चीजें फिर से काम करने लगीं।
टिम

यह बहुत उपयोगी टिप है। मैं आमतौर पर हर आधे साल में अंतरिक्ष की कमी में चला जाता हूं और यह याद रखना कठिन है कि किन फ़ोल्डरों को शुद्ध किया जाना चाहिए। उपनाम निश्चित रूप से सुविधाजनक है।
ओलिवर जांग

35

XCODE 10 अद्यतन

टैब पर:

  1. Xcode पर क्लिक करें
  2. पसंद
  3. स्थान -> व्युत्पन्न डेटा

आप सभी व्युत्पन्न डेटा तक पहुँच सकते हैं और उन्हें हटाकर साफ़ कर सकते हैं।


व्युत्पन्न डेटा अनुभाग केवल व्युत्पन्न डेटा के मार्ग को परिभाषित करता है। मैं उन्हें देखने और हटाने के लिए कहीं भी नहीं देखता हूं। केवल कमांड लाइन के माध्यम से ही क्यों?
AlxVallejo

2
@AlxVallejo पथ पते के अंत में, आपको एक आइकन दिखाई देगा जो आपको फ़ोल्डर में ले जाएगा। उस पर टैप करें और फ़ोल्डर को हटा दें और इसे फिर से बनाया जाएगा।
उदित काया

34

XCODE 7.2 अद्यतन

(7.1.1 के लिए भी काम करता है)

  1. विंडो और फिर प्रोजेक्ट्स पर क्लिक करें और फिर डिलीट किए गए डेटा को हटा दें ।

ऐशे ही:

यहां छवि विवरण दर्ज करें

और फिर इसे यहां हटाएं:

यहां छवि विवरण दर्ज करें


उम्मीद है की वो मदद करदे!


2
यह आपको इसे एक-एक करके मैन्युअल रूप से डिलीट करने में सक्षम करेगा, लेकिन अन्य पोस्ट में उपयोग किए जाने वाले साधन एक बार में DerivedData फ़ोल्डर सामग्री को हटाने के लिए हैं
XIII

23
 $ du -h -d=1 ~/Library/Developer/Xcode/*

कम से कम दो फ़ोल्डर विशाल हैं:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport

फ़ोल्डर्स में सामान हटाने के लिए स्वतंत्र महसूस करें:

 rm -rf ~/Library/Developer/Xcode/DerivedData/*

और कुछ में:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/

2
पवित्र बकवास ... डिवाइस समर्थन फ़ोल्डर में iOS के पुराने संस्करणों से फ़ाइलों को हटाने से 28GB तक मुक्त हो गया ...
kareem

17

बस एक छोटी सी स्क्रिप्ट के साथ जीथब रेपो बनाया, जो एक रैम डिस्क बनाता है। यदि आप अपने DerivedData फ़ोल्डर को इंगित करते हैं /Volumes/ramdisk, तो डिस्क को बाहर करने के बाद सभी फाइलें चली जाएंगी।

यह संकलन को गति देता है, इस समस्या को भी समाप्त करता है

एक्ससी-लॉन्च रेपो

DTerm के उपयोग से सर्वश्रेष्ठ लॉन्च किया गया


11

XCode 8: अपने वर्तमान प्रोजेक्ट के लिए व्युत्पन्न डेटा को हटाने के लिए:

उत्पाद मेनू पर क्लिक करें

विकल्प कुंजी दबाए रखें

क्लीन बिल्ड फोल्डर पर क्लिक करें


जब मैं विकल्प कुंजी पकड़ता हूं तो क्लीन बिल्ड विकल्प धूसर हो जाता है। : /
AlxVallejo

4

XCODE 10 अद्यतन

स्थिति पट्टी पर Xcode पर क्लिक करें फिर प्राथमिकताएँ चुनें

पॉपअप विंडो में अंतिम सेगमेंट से पहले स्थान चुनें

आप छोटे दाएं आइकन के साथ व्युत्पन्न डेटा फ़ोल्डर तक पहुंच सकते हैं

यहां छवि विवरण दर्ज करें


2

~ / Library / डेवलपर / Xcode / DerivedData


डिफ़ॉल्ट रूप से हाँ; मैं उपयोग करता हूं ~/tmp/DerivedDataइसलिए मैं निर्मित फ़ाइलों / बंडलों को आसानी से प्राप्त कर सकता हूं।
ड्रॉपी

1

हां, हटाने के लिए सुरक्षित, मेरी स्क्रिप्ट खोज और उसके द्वारा खोजे गए प्रत्येक उदाहरण को आसानी से स्थानीय निर्देशिका में संशोधित कर देती है

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
IFS=$'\n\t'

for drive in Swap Media OSX_10.11.6/$HOME
do
   pushd /Volumes/${drive}  &> /dev/null
   gfind . -depth -name 'DerivedData'|xargs -I '{}' /bin/rm -fR '{}'
   popd &> /dev/null
done


-1

मैं कहूंगा कि यह सुरक्षित है - मैं अक्सर आईओएस परियोजनाओं के कई प्रकार के लिए फ़ोल्डर की सामग्री को हटाने के लिए, इस तरह से । और, मुझे ऐप स्टोर में बिल्ड या सबमिट करने में कोई समस्या नहीं है। यह प्रक्रिया व्युत्पन्न डेटा को हटा देती है और Xcode 5 और 6 दोनों के लिए प्रोजेक्ट की कैश्ड परिसंपत्तियों को साफ़ करती है।

कभी-कभी, केवल व्युत्पन्न डेटा निर्देशिका पर rm -rf को कॉल करने से एक फ़ाइल या दो को छोड़ दिया जाता है, लेकिन मेरी स्क्रिप्ट तब तक चलती है जब तक कि सभी फ़ाइलें हटा नहीं दी जाती हैं।


ओह। टाइपो। मेरा मतलब 'प्रदान' था
स्पष्ट करें

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

मुझे अब कोड दिखाई दे रहा है। पहले लिंक नहीं देखा था (यदि यह वहाँ था) धन्यवाद।
साफ़ करें

-1

बिल्ड-टाइम के दौरान 'व्युत्पन्न डेटा' की सामग्री उत्पन्न होती है। आप इसे सुरक्षित रूप से हटा सकते हैं। 'व्युत्पन्न डेटा' को हटाने के लिए नीचे दिए गए चरणों का पालन करें:

  1. Xcode का चयन करें -> वरीयताएँ

चरण 1

  1. यह पॉप-अप विंडो खोलेगा। ' स्थान ' टैब चुनें। लोकेशन सब-टैब में आप पथ के आगे तीर आइकन पर क्लिक करके ' व्युत्पन्न डेटा ' देख सकते हैं ।

चरण 2

  1. यह ओपन-अप फोल्डर होगा जिसमें-Derived Data ’राइट क्लिक और डिलीट फोल्डर होगा।

चरण 3

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.