説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『どうしてアプリの「クラッシュ」が発生するの?』という質問に答えます。

***

パソコンやスマートフォン、タブレットなどの機器において「クラッシュ」という場合、ソフトウェア(アプリ)が突然異常終了する事態を指します。なんの前ぶれもなく画面が消えてホーム画面に戻った場合、そのアプリがクラッシュしたと判定できます。パソコンのソフトウェアがクラッシュした場合、なんらかのメッセージが表示されるものですが、iPhoneでは特に表示されません。

アプリがクラッシュする原因はさまざまです。アプリに潜むプログラム上の不具合(いわゆる「バグ」)もあれば、メモリ消費量が想定レベルを超えてシステムに強制終了される場合も、さらにはシステム側の不具合が原因の場合もあります。ハードウェアが原因でクラッシュを引き起こすこともあるため、ケース・バイ・ケースとしか言いようがありません。

ただし、iOSには強力な保護機構があるため、アプリがクラッシュしてもシステムの中核部分を巻き添えにすることはほとんどありません。孫悟空がどれほど飛び回っても如来の手のひらから飛び出せない、という西遊記のエピソードを例にとるとわかりやすいでしょうか(この場合アプリが孫悟空)。アプリにとってiOSの基盤部分は如来の手のひらに近い存在であり、多くの場合クラッシュの影響を受けないからです。

さらにiOSでは、アプリがクラッシュしたときの状況をログとして残しています。iOS 8の場合、ログは「設定」→「プライバシー」→「診断/使用状況」→「診断データと使用状況データ」の順にタップすれば参照できます。もっとも、ログの内容を読み解くにはiOSのしくみの理解とプログラミングの知識を要求されるため、眺めたところでクラッシュの原因を突き止められるとはかぎりません。

iOSには、アプリがクラッシュしたときの記録(ログ)を残す機能が用意されていますが、読み解くには専門的な知識が必要になります