ネイティブ拡張のディレクトリへのアクセス

拡張には、画像などの付加的なファイルが含まれる場合があります。また、拡張は、拡張バージョン番号などの拡張記述ファイル内の情報にアクセスする必要がある場合もあります。

iOS 以外のすべてのデバイスで拡張のこれらのファイルにアクセスするには、ExtensionContext クラスの静的メソッド getExtensionDirectory() を使用します。次に、例を示します。

var extDir:File = ExtensionContext.getExtensionDirectory("com.example.TVControllerExtension");

getExtensionDirectory() に拡張の名前を渡します。この String 値は、次の項目で使用する名前と同じです。

  • id エレメント内の拡張記述ファイル

  • ExtensionContext.createExtensionContext() に渡す拡張 ID パラメーター

返された File インスタンスは、拡張の基本ディレクトリを参照します。拡張ディレクトリの構造は次のとおりです。

extension base directory/ 
    platform independent files 
    META-INF/ 
        ANE/ 
            extension.xml 
            platform name/ 
                platform dependent files and directories

デバイス上のどこに拡張ディレクトリがあるかにかかわらず、拡張のファイルは常に拡張の基本ディレクトリと相対的に同じ場所に配置されます。そのため、返された File インスタンスおよび File クラスのメソッドを使用して、拡張に含まれる特定のファイルの場所まで移動し、そのファイルを操作します。

拡張ディレクトリの場所は、次のように、拡張がアプリケーションバンドルを通して使用できるか、デバイスバンドルを通して使用できるかによって異なります。
  • アプリケーションバンドルでは、拡張ディレクトリはアプリケーションディレクトリ内に配置されています。

  • デバイスバンドルでは、拡張ディレクトリの場所はデバイスによって異なります。

例外として、iOS デバイス用の ActionScript 拡張の場合は、getExtensionDirectory() を使用します。これらの拡張のリソースは、拡張ディレクトリではなく、アプリケーションのトップレベルのディレクトリに配置されています。詳しくは、iOS デバイス上のリソースを参照してください。