審査直前に、Macのディスク容量が尽きて`df`すら動かなくなった話
App Store用のスクリーンショットを準備していた。実機は手元の一番使い慣れた端末だったけれど、画面サイズがApp Storeの現在の必須サイズに合わなかった。仕方なくシミュレータで、必要なサイズ(iPhoneの大きい画面、iPadの13インチなど)をいくつか新しく作って、それぞれにアプリを入れてスクリーンショットを撮っていった。
気づいたら何もできなくなっていた
スクリーンショットが撮れて、次はアプリをアーカイブしてアップロードする作業に移ろうとしたところで、あらゆるコマンドが「ディスクに空き容量がありません」というエラーで失敗するようになった。状況を確認しようと`df`(ディスクの空き容量を見るための、一番基本的なコマンド)を実行してみても、そのコマンドの結果を書き出す先すら容量不足で失敗する。原因を調べるための道具そのものが使えない、という詰みかけの状況だった。
まずゴミ箱を空にしてもらう
とにかく少しでも空き容量を作らないと何も始まらないので、ひとまずゴミ箱を空にしてもらった。それだけでコマンドがなんとか実行できる程度の空きが生まれ、ようやく状況を調べられるようになった。
犯人はシミュレータだった
調べてみると、その日のうちに作ったシミュレータだけで合計12GBほど消費していた。1つのシミュレータを新しく作ってアプリを1回インストールするだけでも、想像していたよりずっと重い。スクリーンショット用に3つ作っていたので、それだけでかなりの容量になっていた。
使い終わったシミュレータを削除し、あわせてXcodeのビルドキャッシュ(DerivedData、こちらも1GB近くあった)も消したところ、9GBほどの空きが戻ってきた。これでようやくアーカイブ・アップロードの作業に戻れた。
持ち帰ったこと
- 特定のサイズのスクリーンショットが必要な時など、シミュレータを都度新しく作る場面では、想像以上にディスクを消費することを覚えておく
- 使い終わったシミュレータは、その場で`シミュレータの削除`をしておくと、後で慌てなくて済む
- ディスクが本当に尽きると、状況を確認するための基本的なコマンドすら動かなくなる。「ゴミ箱を空にする」のような、コマンドを使わずにできる最初の一手を知っておくと安心