「 Xcodeのビルドが急にできなくなった… 」
「 なんだかXcodeの調子が悪いような… 」
プログラムを書いていく中で、そんな場面に出会ったことはないでしょうか?
PCを長い時間使い続けていたり、多くの作業負荷をかけていたりすると、動作が重くなったり、不具合が起きたりする可能性が高まります。
今回は、Xcodeのキャッシュクリア機能である「Clean Build Folder」の実行方法や、その他すぐに試せて動作の改善が期待できるXcodeのリフレッシュ方法を4つご紹介します!
ショートカットキー: [Command + Q]
まずは根本的かつ効果的な方法、XCodeの再起動です。
コードの予測変換やプロパティのRenameが上手く動作しなくなった時など、一度Xcodeをリセットすると動作の改善が期待できます。
Xcodeを閉じる時、ウィンドウの「✖︎」ボタンで閉じるだけでは、全てのシステムが終了できていない場合があります。
[Command + Q]でタスクキルすることで、Xcodeのシステムを完全に終了してから、再起動しましょう。
ショートカットキー: [Shift + Command + K]
Clean Build Folderを実行してビルドをクリーンアップします。
Xcodeでビルドを重ねていくと、ビルドファイル内に不要なビルド情報や残留したデータが溜まっていきます。
不具合の原因によっては、ビルドをクリーンアップすることで、状態が改善することがあります。
クリーニングが完了した後は、次回コードを実行するときに新しいビルドが自動で作成されます。
Clean Build Folderは、Xcodeのメニューバーからも実行できます。
Xcodeのメニューバー >> Product >> Clean Build Folder
Xcodeは使用を続けていくことで、開発速度向上を目的とした様々なキャッシュデータを大量に蓄積していきます。
DevCleanerは、その中から不要なデータやキャッシュを検知し、簡易的にクリーニングすることができるオープンソースアプリケーションです。
Mac App Storeから無料でダウンロードできます。
キャッシュって何?
キャッシュとは、一度閲覧したページや、使用したデータなどを一時的に保存しておき、次回また使用するときに素早く取り出せるようにしておく機能のことを言います。
キャッシュが溜まりすぎてしまうと容量を圧迫したり、動作が重くなったりする原因にもなるので、定期的にクリーニングすることが推薦されています。
App Storeからのインストールが完了したら、アプリを開きましょう。
その際、Xcodeが開いていると以下のポップアップが出ます。
「ファイルデータの安全性を確保するため、念の為Xcodeを閉じてください」と伝えてくれています。Xcodeを閉じてから、Continueを選択しましょう。
DevCleanerを開くと、以下のメニューが出現します。
主な項目は3つ、「Device Support」「Archives」「Devided Data」です。
・Device Support
Xcodeキャッシュの大部分を占める。iOS/watchOS/tvOSの実機に接続した際に、デバイスのシンボルがPCに保存される。
OSのバージョン毎に新しく保存されていくため、◯◯GBを軽く超えてくる。
デフォルトだと最新OSバージョン以外はクリーン対象となるが、実機テストのために特定のOSバージョンを残しておきたい場合は、任意の項目チェックを外しておくと良い。
(筆者の場合iPhoneの実機シンボルOSバージョン2つ分だけで13GBを占めていました)
・Archives
distrubution/export/ビルドを作成したときに生成される。バージョン毎に生成されるため、古いバージョンのものは不要なら削除して構わない。
・Devided Data
自動保管データやログ、デバッグビルド、中間ファイルなどXcodeのキャッシュ。
Xcodeの挙動に不具合があったり、覚えのないエラーが出たときにクリーニングを試みると、状態が改善する場合がある。
こちらもキャッシュであり今後も再生成がされていくため、不要であれば削除して構わない。
各項目の左サイド「>」をクリックすると、項目の詳細が開きます。DevCleanerが自動でクリーニング対象をチェックしてくれていますが、こちらから任意で対象の変更が可能です。
これらの項目の中から、削除したいものにチェックを入れて「Clean」を選択すると、クリーニングが始まります。
こちらも抜本的な対処ですが、非常に効果を見込める方法です。
コンピュータサイエンスの講師Rob Milesは、2016年の記事でこのように書いています。
パソコンにタスクを与え過ぎて動作しなくなった場合(もしくは、ソフトウェアの開発者が予測しないような物理的な何かが起こった場合)、メモリでタスクが詰まっています。
コンピュータ科学者は、タスクBが何かをするためにタスクAが待っている時に、タスクBはタスクAが何かをするのを待っており、双方が行き詰まる原因となっている状態を“デッドロック”と言います。
さらに、タスクを処理しながら、パソコンのメモリのようなリソースを何度も何度もフェッチしたり使ったりしていると、リソースが断片化し、管理することが難しくなります。
散らかった寝室の中では物を探すのが難しいような状態です(親が散らかった部屋を片付けろと大騒ぎする理由と同じです)。
再起動することで、不安定になっていたハードウェアによる問題は一時的に解決するかもしれません(特に、パソコンの部品が熱くなって問題が起こっていた場合は)。
最近のOSは、行き詰まった処理を見つけて取り除くのが非常にうまく、整然と処理し続けられるように動作しますが、それでもパソコンを再起動するのが一番いい状態に行ってしまうこともあります。
再起動はあらゆるタスクを削除し、まっさらな状態の再スタートです。
筆者自身、ずっとスリープ状態を維持しながらPCの電源はつけっぱなしな人でしたが、最近は再起動による動作の改善効果を実感し、意識的に再起をかけるようにしています。
皆さんの中にも意外と、「最後にPCの電源を落としたの、いつだっけ…?」という方、いるのではないでしょうか?
ぜひ、一度PCの再起動を試してみてください。
以上、Xcodeの動作を改善するクリーニング方法の中から、手軽で効果を見込みやすいものを4つご紹介しました!
他にもPC内のデータをクリーニングする方法は多く存在しますが、深部のデータを取り扱う方法であるほど、大事なデータを消してしまって取り返しがつかなくなるリスクも高まることには注意が必要です。
あらかじめバックアップを取っておくなど、いざという時にも安心してPCのクリーニングができるようにしておくと、より良いかと思います。
\ SHARE /
アプリ開発が学べる勉強会を開催中!
CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。
2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。