昨日の記事の補足です。

StickSports / ANE-Silent-Switch
 ↑こちらのtestプロジェクトをビルドをなんとかwindowsでできないかと再挑戦しましたがやっぱり無理だったというお話。
(AIR SDK 3.2でのお話です)


昨日はスルーしていた開発者が指示しているビルド方法を試しました。

Antビルドスクリプトのテスト/ build.xmlをビルドし実行します。これは、テストの/ binフォルダ内のテストのIPAを作成します。

Antなにそれ?状態でしたが、FlashBuilderからAntの実行ができます。

手順としては、
1.何でもいいからプロジェクトを一個作る。
(AS3プロジェクトを作りました)


2.プロジェクトにANE-Silent-SwitchからDLしたデータを突っ込む
(具体的には[test][bin]の3つのフォルダ)


3.test/build.xmlの修正
これはUNIX向けのANTらしいのでそのまま実行するとWindowsでエラーります。
test/buildフォルダ内build.xmlを2箇所修正します。

<!--12行目内の"amxmlc"の後ろに".bat"を追加-->
<exec executable="${sdk.home}/bin/amxmlc.bat" failonerror="true" dir="../bin">
<!--35行目内の"adt"の後ろに".bat"を追加-->
<exec executable="${sdk.home}/bin/adt.bat" failonerror="true" dir="../bin">

4.設定ファイルへの記述
test/buildフォルダ内にexample.build.configがあります。
ここにflexsdkのパスやらipaにパッケージする際の証明書ファイル(.p12)やモバイルプロビジョニングファイルのパスやら、iossdkのパスを設定します。
さらにファイル名をexample.build.config→build.configと変更します。
(ボクの設定例)

# The location of the flex sdk with Air 3.1 or later
sdk.home = E:/00_flash/flex_sdk_4.6_air3.2

# The location of the .p12 developer certificate file
ios.keystore.file = E:/cert/hoge.p12

# The password of the .p12 developer certificate file
ios.keystore.password = passpass

# Provisioning profile
ios.provisioning.profile = E:/cert/forTest.mobileprovision

# The iOS SDK location
ios.sdk = E:/iPhoneOS51/

※iossdkは別途macに入ってるXcode4.3の中から持ってきました。


5.buld.xmlの実行
test/build.xmlにカーソルを合わせて右クリック→実行でantの実行ができます。

がしかし、全ての設定を正しくしていてもエラーになるのです。
FlashBuilderのコンソールにたくさん表示される中の一文で

-platformsdk option for IPA targets is supported only on Mac

とでてまして、つまりはmacでしかiosのsdk指定はできないよ、と。

もちろん全てのaneが使えないということじゃないけども、昨日書いたように

ld warning: unexpected srelocation type 9

このエラーがでちゃったらもうane自体をXcode4.1でビルドしなおすか、aneはそのままでやるなら、ipaのビルドはmacを使う(iossdkを指定して)しかないっぽい。
windows一本でやりたいのになぁ、残念。