Xcode Derived dataフォルダの内容を安全に削除できますか?


293

ディスク領域が少なくなり、サードパーティのユーティリティを使用して、〜/ Library / Developer / Xcode / DerivedDataディレクトリが約22GBのディスク領域を使用していることを確認しました。

私はstackoverflowを検索し、この投稿を見つけました

〜/ Library / Developer / Xcode / DerivedDataディレクトリから安全に削除するにはどうすればよいですか?

この質問への受け入れられた回答は、私がこのディレクトリからフォルダに触れたり、フォルダを削除したりしないことを示唆しています。だから私がしたことは

  • Appstoreで入手できるアプリの既存のビルドプロジェクトフォルダーを見つけました
  • 派生ディレクトリからフォルダを削除しました
  • XCode 5をリリース
  • そのプロジェクトを開く
  • クリーンビルド
  • シミュレータでテストしてコンパイルしました
  • 再アーカイブ
  • すべてがうまくいった。何も壊れていませんでした。

その投稿の回答で何かを見逃していない限り、経験豊富な開発者に、DerivedDataからすべてのフォルダーを削除しても、プロジェクトのビルド、テスト、およびコンパイルに支障がないことを確認してください。


参照された質問への受け入れられた答えは、DerivedDataから削除しないことについて何も言わないstackoverflow.com/a/7284632/8047です...ただし、アーカイブは後でデバッグするために重要ですが、それは別のディレクトリです。
Dan Rosenstark、2016年

回答:


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 2015

1
@gone何のことをいっているのですか。ビルドされたファイルはどこかに移動する必要があります。
Droppy

2
まあ、CMakeやその他のmakeシステムでは、ソース外のビルドでも、生成されたファイルなどはプロジェクトのパス内にあり、フォルダー構造を削除したり、クリーンアップを実行したときにクリーンアップしたりすると削除されます。毎週約100の割り当てをマークしているので、手動で削除することを覚えておく必要のある巨大なファイルのビルドがあり、XCode UIを使用して、各プロジェクトのデータを個別に取得します。ですから、以前のコメントはそのままにしておきますが、.bashrcにウィリアムのエイリアスを実装しました。
消え

XCode 8はまた物事を変更します(それは常に悩みの種でした)。ここで、手動でフォルダーに移動し、/Users/YourUsername/Library/Developer/Xcode/DerivedDataそれらをすべて削除する必要があります。あなたはXCodeの7のために編集され、私はあなたがXCodeの8のために再度編集にそれをしたいかもしれないと思っていたきたように
sweta.me

1
あなたは私の完全な答えを確認することができます同じ優先順位に行くために働いている同じ古いものに複数の答えがあり、場所タブから。:)
Nitin Gohel 2017

124

私はそれのためのエイリアスを持っているのに十分な頻度で派生データをパージします。ビルドの問題を修正できます。/Users/Myusername/.bash_profileに以下があります

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

次に、ターミナルで、purgeallbuildsと入力すると、DerivedDataのすべてのサブフォルダーが削除されます。


24
DerivedDataフォルダー自体を削除できます。再作成されるだけです。
Nick Lockwood

1
このフォルダを削除すると、Xcode 8でビルドがすぐに失敗します。一度追加すると、再び機能しました。
Tim

これは非常に役立つヒントです。私は通常、半年ごとにスペース不足に遭遇し、どのフォルダーをパージする必要があるかを覚えるのはちょっと難しいです。エイリアスは間違いなく便利です。
Oliver Zhang

35

XCODE 10アップデート

タブ:

  1. Xcodeをクリック
  2. 環境設定
  3. 場所->派生データ

すべての派生データにアクセスし、それらを削除することで消去できます。


派生データセクションは、派生データのパスのみを定義します。それらを表示および削除する場所がどこにもありません。コマンドラインから実行しないのはなぜですか?
AlxVallejo 2017

2
@AlxVallejoパスアドレスの最後に、フォルダに移動するためのアイコンが表示されます。それをタップしてフォルダを削除すると、再作成されます。
Umit Kaya 2017

34

XCODE 7.2アップデート

(7.1.1でも機能します)

  1. [ ウィンドウ]、[ プロジェクト]の順にクリックし、派生データを削除します

このような:

ここに画像の説明を入力してください

そして、それをここで削除します:

ここに画像の説明を入力してください


お役に立てば幸いです。


2
これにより、手動で1つずつ削除できますが、他の投稿で使用されている方法は、DerivedDataフォルダーの内容を一度に削除することです
XIII

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

少なくとも2つのフォルダが巨大であることを示しています。

 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
holy crap ...古いバージョンのiOSのファイルをデバイスサポートフォルダーから削除すると、28 GBが解放されました...
カリーム

17

RAMディスクを作成する小さなスクリプトでgithubリポジトリを作成したところです。DerivedDataフォルダーをに指定すると/Volumes/ramdisk、ディスクを取り出した後、すべてのファイルが失われます。

コンパイルを高速化し、この問題も解消します

xc-launch repo

DTermを使用して最適に起動


11

XCode 8:現在のプロジェクトの派生データを削除するには:

製品メニューをクリックします

Optionキーを押したままにする

Clean Build Folderをクリックします


オプションキーを押したままにすると、[クリーンビルド]オプションがグレー表示されます。:/
AlxVallejo 2017

4

XCODE 10アップデート

ステータスバーの[ Xcode]をクリックして、[ 設定]を選択します

ポップアップウィンドウで、最後のセグメントの前の場所を選択します

小さな右のアイコンでDerived Dataフォルダーにアクセスできます

ここに画像の説明を入力してください


2

〜/ライブラリ/ Developer / Xcode / DerivedData


デフォルトでははい。~/tmp/DerivedDataビルドしたファイル/バンドルに簡単にアクセスできるように使用しています。
Droppy

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

安全だと思います-多くの種類のiOSプロジェクトでは、この方法でフォルダーの内容を削除することがよくあります。また、ビルドやApp Storeへの送信に問題はありませんでした。この手順では、Xcode 5と6の両方について、派生データを削除し、プロジェクトのキャッシュされたアセットをクリーンアップします。

場合によっては、Derived Dataディレクトリでrm -rfを呼び出すだけで、1つまたは2つのファイルが残っていることがありますが、スクリプトはすべてのファイルが削除されるまでループします。


ああ。打ち間違え。私は「提供する」を意味しました
クリアライト

ああ、私は別の質問への回答で提供したスクリプトにリンクしています。このようにして、スクリプトを更新したい場合は、1か所で編集するだけで済みます。リンクをたどることができますか?
Sheamus

コードが表示されます。以前にリンクが表示されなかった(ある場合)感謝します。
クリアライト2015

-1

「派生データ」のコンテンツは、ビルド時に生成されます。安全に削除できます。以下の「派生データ」を削除する手順に従います。

  1. Xcode-> Preferences ...を選択します。

ステップ1

  1. ポップアップウィンドウが開きます。「場所」タブを選択します。[場所]サブタブで、[ 派生データ ]を確認できます。パスの横にある矢印アイコンをクリックします。

ステップ2

  1. これにより、「派生データ」を含むフォルダーが開きます。フォルダーを右クリックして削除します。

ステップ3

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.