Xcodeの面倒なキャッシュ削除をGUIで行えるMacアプリ『DevCleaner for Xcode』

Xcodeは使用していると開発速度向上を目的としたキャッシュデータを大量に蓄積していきます。開発をしているとそのようなデータを消したくなる時があります。

Xcodeは〜/ Developerフォルダにキャッシュファイルやシンボルを格納していきます。

ディレクトリの場所は決まっているので手動かスクリプトで削除することが多いと思います。今日iOSやFlutterの情報を発信しておられる@_monoさんがそのような内部データをGUIで削除できるアプリケーションを紹介しておられました。

寡聞にして存じ上げなかったので使ってみた所大変便利だったため、今回このツールの使い方などを紹介していきたいと思います。

DevCleaner for Xcode

リンク

インストール後起動すると、Developerディレクトリへの権限を要求されるので、適切にディレクトリが選択されていることを確認した後、Openをクリックします。

その後以下のような画面になります。この画面で削除できるファイルが表示されます。ウインドウ上部のバーにはクリーンによって空きを作れる容量が表示されます。私の場合は17.07GBでした。

ディレクトリの中身を見てみると以下のようになります。一部公開していないアプリなどがあるので隠したい情報はマスクしています。

あとは基本的に任意のファイルやディレクトリを削除していくだけで済むのですが、どのファイルを削除するのか、そのファイルは普段どのように使われているのかを知らずに使うことは良くないので、各ディレクトリ以下にどのようなファイルが入っているのか説明します。

Device Support

iOSやwatchOSなどのデバイスを接続するたびに、デバッグ効率のためにそのシンボルがコンピュータにダウンロードされます。Xcodeキャッシュの大部分を消費します。

余談ですが、この Device Support、サポートされていないOSを実機デバッグしたい時に強引にデバッグできるようにする時にお目にかかったことがある人もいるかもしれません。サポートしたいOSがデバッグできるXcodeを落としてきてアプリ内のファイルを見ていくと同名のディレクトリがあります。これをデバッグしたいXcodeにコピーすると実機デバッグ出来るようになります。

Archives

distributionやexportのためのBuildを行うと生成されるファイルです。バージョンごとに生成されるので不要なものは削除しても問題ありません。このアプリを使用すると、アーカイブをすばやく調べて、古いアーカイブや保存されていないビルドを削除できます。

Derived Data

Xcodeファイルの主要なキャッシュ部分です。キャッシュなので再生成できますので不要なら削除しても問題ありません。

iOSアプリの開発をしているとこのディレクトリを容量が理由で削除するよりも、たまにXcodeがおかしくなったりよくわからないエラーが出たときに削除を試してみることが多いです。

弊ブログでもDerived Dataについて書かれた記事があります。

最後に

アプリの開発が行われているリポジトリにも記載されていますが、この手のアプリケーションを使う時、万が一のことを考慮する必要がある場合はバックアップを取るようにしましょう。

どのディレクトリにどのようなファイルが入っているのか把握していたらとても有用なツールだと思いました。