能登 要

札幌在住のiOSアプリ開発者。SwiftUI により分割されたデバイス間を縦横にやりとりできる考え方に転換しています。

iOSアプリ開発者。2009年のiPhoneアプリ開発開始時期から活動。開発言語のアップデートの中でSwiftUIおよび周辺技術に着目中。

beta版 macOS をSSD 128GB モデルにインストールするための容量確保方法

macOSのbeta版をSSD 128GBにインストールするときに困るのがSSDの容量不足による警告でインストールすらできない状況。アプリや不要なドキュメントを削除しても容量が確保できないのは何故?という時がある。

今回の場合はBlogが役に立った。

不要なバージョンのiOS Simulatorを削除する - BLOG - siwa32.com

iOS アプリ開発者の場合は、iOS シミュレーターが容量を食い潰している可能性があるのでリンクの方法を試すことをお勧めする。現状でインストールしている開発環境(Xcode)の過去バージョンのiOS シミュレーターが、

~/Library/Developer/Xcode/iOS DeviceSupport

に残っていることが多く、かつiPhoneシミュレーター1つが1GB越えなので複数バージョンのiOS シミュレーターを使った経験がある方は確認とiOS シミュレーターが容量を浪費していないか確認&iOS シミュレーターの整理をお勧めする。

iOS シミュレーターを削除して安心してはならない。いざbeta版 macOSのインストーラーを立ち上げても確保した容量が反映されない場合はある。

問題としては、Time Machine(macOS付きのバックアップサービス)用のローカルスナップショットが容量を消費しているか可能性を疑った方が良い。Time Machineのローカルスナップショットは、macOSのバックアップ機能の一種でファイルへの変更タイミングで過去のファイル状態をローカルに保持する。

普通遣いの場合は容量が逼迫すると古い順に消去される。

しかしbeta版 macOSをインストールするために容量を確保しているため、通常遣いの容量の逼迫時に行われるローカルスナップショットの削除が行われない。

不幸なことにbeta版 macOSインストーラーは空き容量の計算時にローカルスナップショットも空き容量の計算に入れてしまうため空き容量を確保したのにインストールできない状況が発生する。

Time Machineのローカルスナップショットを手動で削除するには以下のブログ記事が参考になった。

macOS Mojaveでローカルスナップショットを削除する方法 | HWD Blog

上記作業で確保した空き容量をbeta版 macOSインストーラーに正しい空き容量を伝えインストール可能な状況となった。

まとめると、

  • アプリ開発者ならiOSシミュレーター がストレージの容量を消費しているかを疑うこと
  • Time Machineのローカルスナップショットをbeta版 macOSインストーラーが検知してしまう
  • 購入時に開発機のストレージ容量をケチってはならない

がbeta版 macOSのアップデートの際に気をつける点と言える。