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

iOSアプリは、「サンドボックス構造」により高いセキュリティが実現されています。サンドボックスとは、外部からのアクセスを遮断した環境下でプログラム(アプリ)を動作させるしくみのことで、スマートフォン用OSやパソコン用OSで採用が進んでいます。名前の由来は、外部と仕切られた状況が"子どもが遊ぶ砂場"に似ていることにあります。

サンドボックスはアプリ専用の領域としてディスク上に確保されるため、ウイルスなど悪意のプログラム(マルウェア)による攻撃を受けません。反対に、アプリの動作に問題が生じたときも、その影響がシステムや他のアプリに及ぶことはありません。文書データなどを保存するために利用する領域、アプリの設定ファイルを保存する領域も、アプリごとに明確に分離されています。

ただし、例外はあります。ペーストボードを介して文字列や画像といった特定のデータ種をコピー&ペーストすることや、URLスキームという方法でごく短い文字列を受け渡すことは可能です。

このサンドボックス構造はiOSで徹底されており、アプリの安全性を支える大きな要因となっています。サードパーティーがドライバや常駐型サービスなどOSの低位レイヤーで動作するプログラムを開発できない原因となっていますが、この秋公開予定のiOS 8ではアプリ間連携(App Extensions)という機構を用意することにより、他のアプリに機能を提供するサービス的プログラムを開発する道が開かれました。サンドボックス構造を砂場とする比喩に従えば、「他の砂場にシャベルやバケツを貸せる仕組み」とでもいえるでしょう。

この秋公開予定の「iOS 8」では、サンドボックス間で機能を融通する仕組みが提供されます