「再開」と「オートセーブ」、「バージョン」の大まかな仕組みを知ると、今度は文書データがどこに保管されているかが気になる。ファイルシステム上のどこかに、なんらかの形状で存在するはずで、それを知らないことにはどうも座りが悪い、という向きもいることだろう。

「再開」はアプリケーションの状態をも記録できるので、システム再起動とともに現在のアプリケーションを起動することもできる

話には段取りというものがあるが、今回は結論から話そう。テキストエディットの場合、開いている(再開/オートセーブ/バージョン対象の)文書は、ホームフォルダのLibrary以下、正確には「~/Library/Containers/com.apple.TextEdit」フォルダ以下にある。安直に済まそうとすれば、適当なキャッシュ領域を設けそこへ保存しておけばよさそうなものだが、Appleはそうしなかった。なぜなら、これはセキュリティポリシーも絡む大掛かりな話だからだ。

というのも、Lionではアプリケーションの「サンドボックス化」が推進されている。サンドボックスとは、保護環境下でプログラムを実行することで不正処理の被害からシステムを守るセキュリティモデルの1つであり、それを"砂場"になぞらえたもの。OS Xでは、Leopard以降段階的に導入されてきたが、Lionからは一般的なアプリケーションにまで適用範囲が広がった。

サンドボックス化されたアプリケーションは、それぞれに"砂場"が設けられる。それが「コンテナ」であり、前述した「~/Library/Container」以下に設けられるフォルダだ。Lionに標準装備のアプリケーションでサンドボックス化されているものは、テキストエディットとプレビューで、それぞれのコンテナは「~/Library/Containers/com.apple.TextEdit」、「~/Library/Containers/com.apple.Preview」として存在する。

コンテナ内部は、そこがあたかもホームフォルダであるかのような構造となっている。テキストエディットの場合、Dataフォルダ以下には「Desktop」や「Downloads」など、/Users/** と似たフォルダ構造が用意され、実際のフォルダのシンボリックリンクとなっている。「Documents」と「Library」は例外で、コンテナ内部に実際のフォルダとして存在する。

テキストエディットのコンテナ内部。画面から「Desktop」や「Movies」フォルダがリンクということがわかる

「オートセーブ」に話を戻そう。自動保存される文書は「~/Library/Autosave Information」フォルダに保存されるが、テキストエディットで開いている文書はここにない。サンドボックス化されているテキストエディットの場合、作成されるファイルはコンテナ内に限定されるので、実際のファイルシステム上のパスは「~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information」になる、というわけだ。

コンテナ内部の「Autosave Information」フォルダに、オートセーブされた新規作成文書を発見した