*必要なファイル [#kec4147d] 「[[iOSでのANEの作成/iOS側の作成]]」、「[[iOSでのANEの作成/swcの作成]]」で必要なものはそろったので、いよいよANEを作成します。 iOSのANEの作成で最低限必要となるファイルは、 -iOS側の処理の書かれたライブラリファイル(.aファイル) -ActionScriptで書かれたSWC -そのSWCから取り出したlibrary.swf -ANEの設定ファイル:extension.xml です。 リソースなどを必要とするANEの作成の場合はもう少し増えますが、このサンプルではこれだけです。 *extension.xml [#u8bdf3d0] この必要ファイルのうちまだ制作していないのはextension.xmlだけです。 ファイル名はこれでなくてもかまいませんが、サンプルなどを見ると慣習的にこの名前が多いようです。 このファイルの内容を間違えると面倒なエラーとなりますので、気をつけてください。 内容は以下の通りです。 <extension xmlns="http://ns.adobe.com/air/extension/28.0"> <id>ANEAlert</id> <versionNumber>0.0.1</versionNumber> <platforms> <platform name="iPhone-ARM"> <applicationDeployment> <nativeLibrary>libanealert.a</nativeLibrary> <initializer>ANEAlertInitializer</initializer> </applicationDeployment> </platform> </platforms> </extension> ここで「http://ns.adobe.com/air/extension/28.0」の最後の数字はAir SDKのバージョンです。間違えるとエラーとなります。 「id」で指定している「ANEAlert」はANEを識別するIDです。これは[[AndroidでのANEの作成/swcの作成]]で作成したSWCの「ExtensionContext.createExtensionContext」で指定したものと同一でなくてはなりません。 「platform name」はiOSの場合「iPhone-ARM」とします。 「nativeLibrary」はライブラリファイル名です。 「initializer」は[[iOSでのANEの作成/iOS側の作成]]で作成した初期化関数名です。 *フォルダ構成とANEの作成コマンド [#u4f680e6] ANEの作成ではフォルダ構成も重要となります。 まず基点となるフォルダを作り、その下にANEalert.swcとextension.xmlを置きます。さらに「ios」というフォルダを作り、その下にclasses.jarとlibrary.swfを配置します。 まとめると以下のようになります。 &ref(folders.jpg,mw:480,mh:360); ANEAlert.swcと同じ階層で次のコマンドを実行します。 adt -package -target ane aneAlert.ane extension.xml -swc ANEAlert.swc -platform iPhone-ARM -C ios . 「adt」はAir SDKのbinの中にあるコマンドです。 パスを通していない場合はフルパスで記述してください。 「 -package -target ane aneAlert.ane」の部分で「aneAlert.ane」という名前のANEの作成を宣言しています。 「extension.xml」は先ほど制作した設定ファイル名です。 「-swc ANEAlert.swc」はSWC名を指定しています。 「-platform iPhone-ARM」はiOSのANEであることを宣言しています。 「-C ios」はiOS用のファイルがある場所、つまりlibrary.swfやlibanealert.aのあるiosフォルダを示しています。 最後の「.」(ドット)は基点となるフォルダを表しています。 これを実行すると「aneAlert.ane」が作成されるはずです。