iOSでのANEの作成に戻る
「iOSでのANEの作成/iOS側の作成」、「iOSでのANEの作成/swcの作成」で必要なものはそろったので、いよいよANEを作成します。
iOSのANEの作成で最低限必要となるファイルは、
です。 リソースなどを必要とするANEの作成の場合はもう少し増えますが、このサンプルではこれだけです。
この必要ファイルのうちまだ制作していないのは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の作成ではフォルダ構成も重要となります。
まず基点となるフォルダを作り、その下にANEalert.swcとextension.xmlを置きます。さらに「ios」というフォルダを作り、その下にclasses.jarとlibrary.swfを配置します。 まとめると以下のようになります。
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」が作成されるはずです。
iOSでのANEの作成に戻る