タグ : File

AIR for iOS のipaファイルの構造とインストール時のディレクトリ構造について

AIR for iOSでパッケージングしたipaファイルの構造

AIR for iOSでパッケージングしてできたipaファイルはzipファイルになっています。パッケージングしたファイルの中にswfは含まれていません。

ほとんどのファイルがiOS向けにコンバートされているので解凍したところであまり内容はよくわかりません。ipaファイルを直接どうこうするという機会はないと思うので参考程度に御覧ください。

アプリインストール時のデバイス内のディレクトリ構造について

ipaファイルはデバイスにインストールされると、まずアプリ固有の任意のIDが割り振られ、このIDの名前のディレクトリ(サンドボックス)が作成されます。

このサンドボックス内ではアプリの本体ファイルといくつかのディレクトリが作成されています。

  • Documents … ユーザー用のデータの保管場所
  • Library… アプリ用データの保管場所
  • appidディレクトリ…ipaファイルを展開したディレクトリ
  • temp…作業用ディレクトリ(File.createTempDirectory()で参照できます)

ユニークIDがふられたディレクトリは一般的に外からアクセスできないようになっているのでこのユニークIDがふられたディレクトリならアプリで作成したデータは基本的にどこにおいても安全と思われます。ただiTunesのバックアップの対象がDocuments,Libraryの2つのディレクトリが対象になっているのでユーザー用DBなど記憶させておきたいデータはこの2つのディレクトリに置いたほうがよさそうです。ShareObjectもLibrary配下にあるのでバックアップの対象です。

AIR for iOS のFileクラスで参照できる領域

AIR for iOSでもファイルを参照することができます。参照できる場所はアプリケーション固有に割り当てられた領域(サンドボックス)と写真やビデオが保存されているメディアライブラリになります。(AIR2.6での話)

Fileクラスのプロパティに対応したデバイス上のパス

File.applicationDirectory

/var/mobile/Applications/[uniqueID]/[filename].app

アプリ本体のバンドルになっているのでいじらないほうがいい。

File.applicationStorageDirectory

/var/mobile/Applications/[uniqueID]/Library/Application Support/[appID]/Local Store/

Libraryディレクトリがアプリケーションの設定ファイルなど突っ込んでおくディレクトリ。iTunesバックアップ対象ディレクトリ。

File.desktopDirectory

/var/mobile/Applications/[uniqueID]/Desktop/

モバイルではあまり関係ないディレクトリ。

File.documentsDirectory

/var/mobile/Applications/[uniqueID]/Documents/

ドキュメントやアプリケーションデータを保存するディレクトリ。このディレクトリにあるコンテンツは、ユーザーとのファイルシェアが行える。iTunesバックアップ対象ディレクトリ。

File.userDirectory

/var/mobile/Applications/[uniqueID]/

このディレクトリがアプリに用意されたサンドボックスのルートになっている。

File.createTempDirectory()

/var/mobile/Applications/[uniqueID]/tmp/FlashTmp0/

テンポラリディレクトリは複数作ることができ作成するごとにディレクトリ名の最後の数字がインクリメントされていきます。名前のとおり作業用の一時的なディレクトリのため作業が終わったら自分で掃除してあげたほうがよさそうです。長時間放置された場合はOSが消してくれるそうです。iTunesバックアップ対象外です。