Quantcast
Channel: romatica : Blog » ANT
Viewing all articles
Browse latest Browse all 10

[AIR][iOS] AIR3.3 を FDT5 で試す (4) -iOS USBデバッグ編

$
0
0

前回からひきつづき、AIR3.3 新機能を試します。

AIR3.3の新機能 「iOS USBデバッグ」です。
これは簡単に言うと、USB接続されたiOSアプリのtraceをPC側で表示する機能です。
FDT本家サイトに解説がありました。
※本家通りの手順だとなぜかうまくいかなかったので、少し内容が違う部分があります。

[1] ipaの書き出し

アプリがどのポート番号宛にtraceを送信するか?を指定して、書き出します。
それには、-listenオプションとそれにつづけてローカルポート番号を指定して、ipaを書き出します。

ex)

<property name="PROJ_NAME" value="YourProjectName">
<property name="LOCAL_PORT" value="7935">
<property name="REMOTE_PORT" value="7935">
 
<target name=”01. package for usb debug”>
<fdt.loadProjectProperties projectname="${PROJ_NAME}" />
<exec executable=”${FDTProjectSdkPath}/bin/adt” failonerror=”true” dir=”../bin”>
<arg value=”-package” />
<arg value=”-target” />
<arg value=”ipa-debug-interpreter” />
<arg value=”-listen” />
<arg value=”${LOCAL_PORT}/>
<arg value=”-provisioning-profile” />
<arg value=”../cert/********.mobileprovision” />
<arg value=”-storetype” />
<arg value=”pkcs12″ />
<arg value=”-keystore” />
<arg value=”../cert/********.p12″ />
<arg value=”-storepass” />
<arg value=”${PASS}/>
<arg value=”${PROJ_NAME}.ipa” />
<arg value=”${PROJ_NAME}-app.xml” />
<arg value=”${PROJ_NAME}.swf” />
</exec>
</target>

[2] デバイスハンドルを調べる

iOS端末をUSB接続するたび?にデバイスハンドルというID?のようなものが割り振られるようです。それを調べるにはFlexSDKの idb -devicesオプションを利用します

ex)

<target name=”02. show connected devices”>
<fdt.loadProjectProperties projectname=”${PROJ_NAME}/>
<exec executable=”${FDTProjectSdkPath}/lib/aot/idb/idb”>
<arg value=”-devices” />
</exec>
</target>

これを実行すると下記のような結果が得られます。

[exec] List of attached devices
[exec] Handle    UUID
[exec]     4      b47b4c4fe1a664e923f6fa3df90b20f1a8r45cdc
[exec] Result: 1
BUILD SUCCESSFUL
Total time: 1 second

この「4」という部分 (iOS端末接続のたびに違う) にあたる数字を覚えておきます。

[3] アプリを起動する

[1]で書きだしたアプリを、XcodeのOrganizerやiTuneなどを利用してiOS端末にインストールし、起動します。起動するとAIRの接続待機を示すポップアップアラートが表示されます。

[4] デバッガを起動

[3]のアラートが表示されている状態で、デバッガを起動します。

<target name="04. start FDT debugger for usb debug">
    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
    <fdt.startDebugger projectname="${PROJ_NAME}" port="${LOCAL_PORT}" asclient="true" />
</target>

[5] USBデバッグを開始する

idb の -foword で
・ローカルポート
・リモートポート
・[2]で取得しておいたデバイスハンドル
を渡して実行します。

<target name="05. forward ports for USB debug">
    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
    <exec executable="${FDTProjectSdkPath}/lib/aot/idb/idb">
        <arg value="-forward" />
        <arg value="${LOCAL_PORT}" />
        <arg value="${REMOTE_PORT}" />
        <arg value="4" />
    </exec>
</target>

これで iOS AIR アプリ の trace が、FDTのコンソールに出力されます。

まとめ

以上全体をまとめたANTは下記に置きました。
FDT5.5 で AIR3.3 iOS USBデバッグするためのANTテンプレート #ant #iOS #AIR – Qiita

参考

AIR 3.3 Beta – USB debugging for AIR iOS « AKABANA


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images