iOS 27 シミュレーターを追加した後、空き容量が減り、整理してもすぐ不足する状態になっていませんか。
最短の解決策は、Xcode Components とディスク上の保存先で、Simulator Runtime、シミュレーター端末データ、DerivedData、Archives、依存関係キャッシュを分類することです。テストに不要なデータだけを削除し、複数のRuntimeを残す必要があるなら、無理な整理を繰り返さず拡張またはリモート Macへの移行を選びます。
01 この手順を読むべき開発者
1つのiOS Appだけを開発し、必要最小限のシミュレーター環境にしたい独立開発者向けです。
複数のiOSバージョンを回帰テストする担当者、継続ビルドやテストをリモート Macで運用する小規模チームにも適しています。
最終更新:2026年8月21日。Xcode 27の対応状況とコンポーネント操作は、AppleのXcodeシステム要件、Xcode 27 Release Notes、追加コンポーネントの公式手順で確認しています。Appleの最新テスト用ツールチェーンは、同日時点でXcode 27 Beta 4です。Betaの画面や必要条件は変更される可能性があります。
02 まず「何」が容量を使っているかを分ける
「Developer」や「CoreSimulator」という名前だけを見て、ディレクトリ全体を削除するのは危険です。次の5種類は、削除したときの影響が異なります。
- Simulator Runtime:特定のiOSバージョンを起動するための実行環境です。削除すると、そのRuntimeを使う端末を再作成できません。
- シミュレーター端末データ:端末ごとのアプリ、設定、ログ、テストデータです。端末だけを削除しても、Runtime自体は残ります。
- DerivedData:ソースコードからの中間生成物です。削除後は再コンパイルが必要ですが、通常はプロジェクトのソースコードや署名情報そのものではありません。
- Archives:配布用に保存したビルド成果物です。古いArchiveを消すと、過去版の再配布や調査に使える材料を失う場合があります。
- 依存関係キャッシュ:パッケージやビルドツールが再利用するファイルです。消すと再取得が発生し、オフライン復旧には不利です。
macOSの「システム設定」からストレージの大分類を確認した後、XcodeのComponents画面でインストール済みRuntimeを確認します。さらにターミナルで、次のように対象を個別に調べます。
du -sh ~/Library/Developer/CoreSimulator/Devices
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives
du -sh は指定場所の合計サイズを表示するだけです。削除は行いません。<ユーザー名>やプロジェクト名を含むパスをそのままコピーせず、自分の環境に合わせて置き換えてください。
空き容量が減るタイミングも重要です。Runtimeのダウンロード中に止まるなら保存領域の不足、ビルド中ならDerivedDataや依存関係の増加、シミュレーター起動時なら端末データやRuntimeの不整合が候補です。原因を分けずに全削除しても、同じ環境を再構築するだけになりがちです。
iOS 27 Simulator Runtimeは安全に削除できますか。
次のテストで使わないRuntimeで、再ダウンロードできる状態なら、Xcode Componentsから削除する候補です。ただし、iOS 27対応の確認や最低サポートバージョンの回帰テストに必要なら残してください。Appleが案内するComponentsの管理画面を使い、保護されたシステム領域を直接操作しないでください。
03 第一歩:開発者の作業形態で残す範囲を決める
1つのAppだけを維持する場合
現在のプロジェクトが使うSDK、最低対応バージョン、実機で確認できない機能だけを基準にします。使っていないRuntimeや古い端末データを先に整理し、DerivedDataはビルドが再実行できることを確認してから削除します。
署名証明書、Provisioning Profile、App Store Connectへの配布に必要な設定は、キャッシュと同じ扱いにしないでください。Archiveも、直近の配布履歴や障害調査に必要なものは別の保存先へ退避します。Archiveの作成条件や配布時の問題は、AppleのArchiveトラブル解決ノートを基準に確認します。
複数バージョンを検証する場合
まず、最低対応バージョン、利用者の多い主要バージョン、iOS 27の適合確認というテスト行列を作ります。行列にないRuntimeは削除候補ですが、単に「古いから」という理由だけで消すと、次回の回帰テストを再構築する時間が発生します。
シミュレーター端末の削除とRuntimeの削除は何が違いますか。
端末の削除は、その端末に保存されたアプリや設定を失わせます。一方、Runtimeの削除は、そのiOS環境自体を外す操作です。端末を消してもRuntimeは残せますが、Runtimeを外すと同じバージョンの端末を起動できません。追加端末とRuntimeの扱いは、AppleのSimulator管理説明に沿って区別してください。
正式版とBeta版を併用する場合
Xcode 27 Beta 4と正式版のXcodeを同じMacに置く場合、両方が同じRuntimeを参照するとは限りません。削除前に、現在の開発者ディレクトリを確認します。
xcode-select -p
xcodebuild -version
xcode-select -p は現在選ばれている開発者ディレクトリを表示し、xcodebuild -version は選択中のXcode情報を確認するためのコマンドです。切り替えだけではRuntimeや端末データは削除されません。逆に、古いXcode Appをゴミ箱へ移すだけでも、シミュレーター環境の整理にはなりません。切り替え方法はAppleのxcode-select設定資料で確認します。
注意:SIPを無効化したり、保護されたシステムディレクトリを直接削除したりする方法は、通常の容量対策にしないでください。権限エラーを無理に解消するより、対象のRuntime、端末、キャッシュを画面とパスで特定する方が安全です。
継続ビルドを担当する場合
無人のiOS打ち包みサーバーでは、空き容量だけでなく、再起動後にデータが残るか、必要な権限があるか、Runtimeを再導入できるかを確認します。定期処理は次の順で設計します。
- 空き容量と主要ディレクトリのサイズをログへ記録します。
- 期限を決めて不要なシミュレーター端末データを整理します。
- DerivedDataと依存関係キャッシュは、同時ビルドがない時間帯に削除します。
- Archiveは配布・障害調査に必要な世代を残し、残りを退避または削除します。
- 実際のプロジェクトで依存関係の復元、シミュレーター起動、ビルド、Archive作成を検証します。
配布用Archiveの扱いは、Appleのベータ配布とリリース手順とも照合してください。清掃後にFinderの空き容量が増えただけでは成功とは言えません。自動ジョブが最後まで完了することが条件です。
04 整理・拡張・移行を決める比較表
| 状況 | 最初に行うこと | 残すもの | 判断 |
|---|---|---|---|
| 1つのApp、単一Runtime | Componentsと端末データを確認 | 現行Runtime、必要なArchive | 不要データを整理 |
| 複数iOS版の回帰テスト | テスト行列を作成 | 行列にあるRuntime | 必要分は削除しない |
| 正式版とBeta版を併用 | xcode-selectとRuntimeを照合 | 本番復旧用の環境 | Beta側だけ再取得可能にする |
| 継続ビルドで容量が増える | 水位、ログ、Archiveを監視 | 自動復旧に必要な成果物 | 拡張またはホスト分離 |
| 整理後もすぐ不足する | 実ビルド後の増加を確認 | 必須Runtimeと依存関係 | リモート Macへ移行検討 |
リモート Macを継続ビルドに使う場合は、再起動後の永続性とコンポーネント再導入の手順を先に確認します。必要なRuntime、Archive、依存関係が同じ容量内で安定して共存できないなら、削除を繰り返すより、CALMVPSのリモート Mac利用案内で短期検証の条件を確認する方が合理的です。
05 実施後の判定表
| 検証項目 | 合格条件 | 不合格時の対応 |
|---|---|---|
| 依存関係の復元 | 必要なパッケージを取得して完了 | キャッシュ削除範囲を見直す |
| Simulator Runtime | テスト行列の各環境が起動 | 不要Runtimeだけ再整理 |
| 実機能のビルド | 開発用ビルドが完了 | DerivedDataとツール選択を確認 |
| Archive | 配布対象のArchiveを作成 | 署名材料と空き容量を確認 |
| 再起動後の状態 | 端末・Runtime・権限が想定どおり | 永続化ルールと再導入手順を確認 |
| 空き容量 | ビルド後も運用余地が残る | 拡張またはホスト分離へ進む |
Xcode DerivedDataを削除するとプロジェクトに影響しますか。
DerivedDataを削除すると中間生成物がなくなるため、次回ビルドは再コンパイルになります。ソースコードを消す操作ではありませんが、ビルド時間の増加や依存関係の再生成は起こり得ます。CIの実行中に削除せず、ブランチや署名設定の復元手順を確認してから行ってください。
リモート Macのディスクがシミュレーターで埋まる場合はどうしますか。
まず、Runtime、端末データ、DerivedData、Archive、依存関係キャッシュのどれが増えたかを記録します。必要なテスト環境を保ったまま空き容量が戻らない場合は、清掃頻度を上げるだけでなく、容量を拡張するか、継続ビルドとシミュレーター検証を別のMacへ分けます。短期の負荷を確かめるなら、CALMVPSの料金と契約期間を確認し、実プロジェクトで再起動後の保持状態まで検証してください。
現在の手元のMacだけで運用する方法は、物理的な管理が簡単な反面、複数RuntimeとArchiveが同じ内蔵ディスクを圧迫し、作業中に整理が必要になり、容量拡張の自由度も限られます。外部ストレージへの移行も、常時接続、権限、ビルドの再現性を別途管理しなければなりません。必要なiOS 27 Runtimeを保ちながら継続ビルドを止めたくないなら、CALMVPSのリモート Macを短期で試し、実際の清掃頻度とビルド後の空き容量を測ってから長期運用を判断するのが安全です。