キャッシュを空にしてすべてのターゲットをクリーニングする方法Xcode 4以降


238

ジョナサンはここに提案します:Xcodeは削除された.xibファイルを含みます!すべてのターゲットをクリーンアップしてキャッシュを空にすることで、削除された.xibファイルを含むXcodeの問題が修正されますが、Xcode 4でキャッシュを空にする方法が見つかりません。

Xcode 4でそれを行う方法?


xCode 5と6の両方について、派生データを削除する私の[シェルスクリプトソリューション] [1]は次のとおりです。[1]:stackoverflow.com/a/27977848/1231948
Sheamus

回答:


514

Command-Option-Shift-Kでビルドフォルダーを空にします。さらに良いことに、Xcodeを終了し、〜/ Library / Developer / Xcode / DerivedDataを手動で削除します。Xcodeがどこかにあるプロジェクトの古いバージョンを実行するバグがあるため、その内容をすべて削除てください。(Xcode 4.2はDerived Dataフォルダを表示します:ウィンドウ>オーガナイザを選択し、プロジェクトタブに切り替えます。DerivedDataフォルダ名の右にある右矢印をクリックします。)

シミュレーターで、「iOSシミュレーター」>「コンテンツと設定をリセット」を選択します。

最後に、完全を期すために、/ var / foldersの内容を削除できます。キャッシュもそこで発生します。

警告:/ var / foldersを削除すると問題が発生する可能性があり、削除後にオペレーティングシステムを修復または再インストールする必要がある場合があります。

編集:/ var / folders /に取り組むのが怖い場合は、ターミナルで次のコマンドを使用して、より的を絞った方法で削除できることを学びました:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

編集:特定のSwift関連の問題では、〜/ Library / Caches / com.apple.dt.Xcodeを削除すると便利です。これを行うと、ダウンロードしたドキュメントドキュメントセットの予備のコピーのように、多くを失うことになりますが、それだけの価値はあります。


6
パスをクリーンアップ:Library / Developer / Xcode / DerivedData +内容のリセットとシミュレーターの設定が機能します!
Tieme

10
パスは私のホームディレクトリにあるようです(チルドに注意):〜/ Library / Developer / Xcode / DerivedDataこれは他の人には明らかだったかもしれませんが、他の誰かが問題を抱えている場合に備えて...
Victor Van Hee

37
Hehe、übern00bなので、/ var / dbを削除しました。Xcode/ myプロジェクトから取得したものを見つけました。これにより、ファイルシステムでのジャーナリングの破棄、Lionの修復と再インストールなどに5時間かかりました。:-)
JonasByström

4
@Jonas「delete / var / folders」アドバイスに警告を追加せざるを得なかった。初心者向けではありません!
LearnCocos2D 2013

7
sudoでrm -rf / var / foldersを実行しないでください。実行すると、自分で修復してしまいます:)
Josip B.

68

Command-Option-Shift-Kがそれを行うはずです。または、製品メニューに移動してオプションキーを押すと、「クリーン」オプションが「ビルドフォルダーのクリーンアップ...」に変わりますので、そのオプションを選択します。


いいえ、残念です。xibファイルを変更して名前を変更し、あなたが言ったようにアプリをクリーンアップしましたが、エラーなしで正常にロードされます。
Tieme、

2
うわー、Mac OS Xメニューのそのaltキートリックについて決して新しいことはありません!!! それは本当に「アルト」の意味を定義します。
trusktr 2013

19

次の操作に加えて、アプリのストーリーボードのファイルがローカライズされている場合、この問題が発生する可能性があります。まず、次のそれぞれを実行します。

  • クリーンビルド
  • シミュレータをリセット
  • Xcodeを再起動します
  • 〜/ Library / Developer / Xcode / DerivedDataにあるDerivedDataフォルダーを削除します
  • コンピューターを再起動

最終的に私にとってうまくいったのは、ストーリーボードのローカリゼーションファイルを再生成し、英語のローカリゼーションを削除することでした(これは、ベースロケールが英語であるため不要でした)。Storyboard文字列をリロードするには、StackOverflowでこの回答を参照してください

ストーリーボードのテキスト以外の部分が更新されているのに、ローカライズされたテキストは更新されていないことに気付きました。アプリにローカリゼーションがある場合は、ローカリゼーションが更新されていることを確認することをお勧めします(.stringsファイルであっても)。


2
/ var / foldersの(フォルダー全体ではなく)内容を削除すると、私のためにそれができました!/ var / foldersを探している場合... Finderの[移動]メニューから[フォルダに移動]を選択し、フォルダの場所として/ var /と入力します。
パトリシア

/ var / folders命令の+1 ... DerivedDataのクリーニングと削除は部分的に機能しましたが、それでうまくいきました
EeKay

1
1.クリーンビルド2.シミュレーターのリセット3. Xcodeの再起動これで問題は解決しました。
アラン・ドン

警告!からコンテンツを削除/var/folders/すると深刻な問題が発生する可能性があり、回復コンソールからOSxを完全に再インストールしなければならない場合があることに注意してください!
Magnus W

18

command + option + shift + Kに加えて別の方法を見つけました。XCode 4.2には、右上のアイコンから開くことができるオーガナイザーがあります。そこからすべてのアーカイブと保存されたプロジェクトオプションを消去できます。これは私の状況に役立ちました(mainBundleに古い削除されたファイルが表示されていました)。


3
ええ、それは手動で〜/ Library / Developer / Xcode / DerivedDataをクリーニングするよりも簡単な方法です
Tieme

10

同じような悩みを抱えていたので、髪を抜いてきました。アプリをビルドしたところ、iPhoneとシミュレーターで同じ結果が得られませんでした。

問題は、なんとかしてMainStoryboard.storyboardファイルのローカライズバージョンを作成したことです。そのため、スマートフォンでアプリを実行すると、デンマーク語バージョンが表示され、シミュレーターには英語バージョンが表示されました。

ええ、私は新しいです!:)


2
同様の問題がありました。command-option-shift-Kを使用できませんでした。... DerivedDataを削除しました。解決策はありません。トップレベルのXIBを変更すると英語バージョンのみが変更されることがわかりました。私はXIBのオランダ語バージョンでテストしていました。ため息...
2012

1
また、言語ごとに個別のテキストファイルが作成されるアプリをローカライズする方法があることに注意してください。このような場合、.xibを変更しても効果はありません。
dandan78 2013

7

すべての派生データとモジュールキャッシュを削除するに/var/foldersは、この小さなルビスクリプトを使用します

derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache

これでfatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/エラーが解決しました。


1
「致命的なエラー:不正な形式または破損したASTファイル: 'モジュールをロードできません」の原因となる明らかなバグ、およびXcodeによって提案された穏やかな解決策の失敗は、Xcode 6.1でも発生しています。そして、Xcodeを終了して手動で〜/ Library / Developer / Xcode / DerivedDataをクリーンアップするソリューションは、引き続き機能します。そこにあるものすべてを掃除する必要はありませんでした。ModuleCacheと、問題のプロジェクトに関連する名前のサブフォルダーの2つのサブフォルダーのみ。
ジェリークリノック2014

5

ドキュメントウィンドウを開いたときに、Xcode 5.1がクラッシュするという問題がありました。

ウィンドウを開いている間にドキュセットも更新していたため、原因はわかりません。

Xcode 5では、モジュールディレクトリは派生データフォルダー内に存在するようになりました。これは明らかな理由で削除しませんでした。Xcodeを再起動した後、〜/ Library / Developer / Xcode / DerivedData / ModuleCacheおよび〜/ Library / Preferences / com.apple.Xcode.plistの内容を削除すると、すべてが機能するように見えます。


1

「データモデル」を使用する場合、インスペクタにはクラスを生成するためのオプションがあります。これは、既存の名前のクラスがすでに存在していたためです。

Codegen:解決しました。

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



0

xibファイルには注意が必要です。上記をすべて試しましたが、うまくいきませんでした。私はxibで定義されたカスタムUIButtonを使用しており、プログラムで変更されていない属性を割り当てたという事実に関連している可能性があることに気付きました。そこで画像またはテキストを定義した場合は、それらを削除します。そうしたとき、プログラムによる変更が有効になり始めました。


0

Xcode 4、5、および6の派生データを削除し、プロジェクトのキャッシュされたアセットをクリーンアップする私のシェルスクリプトソリューションを次に示します。

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


0

私は私がSIP(システムインテグレーションの保護)を無効にされたn個それが動作助けたものを、ほとんどすべてを試みたが、助けることができなかった、私がいつ、どのようになく、システムファイルがどこかを混同し、これを原因ます何が起こるか分からない... リスクがあるかもしれませんがこれを明らかに無効にする

ここにどのように

1.Macの電源を入れ、[コマンド] + [R]キーを押してリカバリパーティションにアクセスします。

2.リカバリパーティションで、メニューバーから[ユーティリティ]をクリックし、[ターミナル]を選択します。

3.次のコマンドをターミナルに入力し、Enterキーを押して実行します。csrutildisable

4.コマンドが実行されたら、ターミナルを終了してMacを再起動します。OS Xに再度ログインすると、SIPは無効になります。


1
確かに危険に聞こえます。SIPは何をしますか?
Tieme

System Integrity Protectionは、保護のフラグが付けられたシステムファイルとディレクトリを保護します。基本的に、システムにセキュリティを追加し、sudoコマンドの能力さえも制限します
Castro Zwelithini
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.