iOS パッケージ

iOS では、ADT によって SWF ファイルのバイトコードと他のソースファイルが、ネイティブ iOS アプリケーションに変換されます。

  1. Flash Builder、Flash Professional またはコマンドラインコンパイラーを使用して、SWF ファイルを作成します。

  2. コマンドシェルまたは端末を開き、iPhone アプリケーションのプロジェクトフォルダーに移動します。

  3. 次に、ADT ツールを使用して IPA ファイルを作成します。次のシンタックスを使用します。

    adt     -package 
                                        -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc | 
                                        ipa-debug-interpreter | ipa-debug-interpreter-simulator 
                                        ipa-test-interpreter | ipa-test-interpreter-simulator] 
                                        -provisioning-profile PROFILE_PATH 
                                        SIGNING_OPTIONS 
                                        TARGET_IPA_FILE 
                                        APP_DESCRIPTOR 
                                        SOURCE_FILES 
                                        -extdir extension-directory 
                                        -platformsdk path-to-iossdk or path-to-ios-simulator-sdk

    参照 adt を、ADT アプリケーションへの完全なパスを含むように変更します。ADT アプリケーションは、AIR SDK の bin サブディレクトリにインストールされています。

    作成する iPhone アプリケーションのタイプに対応する -target オプションを選択します。

    • -target ipa-test — 開発 iPhone でアプリケーションのテスト用のバージョンを迅速にコンパイルするには、このオプションを選択します。ipa-test-interpreter を使用すると、コンパイルをさらに迅速に行うことができます。また、ipa-test-interpreter-simulator を使用すると、iOS シミュレーターで実行できます。

    • -target ipa-debug — 開発 iPhone でアプリケーションのデバッグ用のバージョンをコンパイルするには、このオプションを選択します。このオプションを選択すると、デバッグセッションを使用して、iPhone アプリケーションから trace() 出力を受け取ることができます。

      次のいずれかの -connect オプション(CONNECT_OPTIONS)を含めて、デバッガを実行する開発コンピューターの IP アドレスを指定できます。

      • -connect - アプリケーションは、アプリケーションのコンパイルに使用している開発コンピューター上のデバッグセッションに Wi-Fi 接続しようとします。

      • -connect IP_ADDRESS - アプリケーションは、指定した IP アドレスのコンピューター上のデバッグセッションに Wi-Fi 接続しようとします。次に、例を示します。

        -target ipa-debug -connect 192.0.32.10
      • -connect HOST_NAME - アプリケーションは、指定したホスト名のコンピューター上のデバッグセッションに Wi-Fi 接続しようとします。次に、例を示します。

        -target ipa-debug -connect bobroberts-mac.example.com

      -connect オプションは必須ではありません。指定しない場合は、実行されるデバッグアプリケーションはホストされたデバッガーへの接続を試みません。また、-connect の代わりに -listen を指定すると、USB デバッグを有効化できます。詳しくは、FDB による USB 経由のリモートデバッグを参照してください。

      デバッグ接続が失敗した場合、アプリケーションはユーザーに、デバッグ用ホストマシンの IP アドレスを入力するように求めるダイアログを表示します。デバイスが Wi-Fi に接続されていない場合、接続が失敗する可能性があります。また、デバイスが接続されていても、デバッグ用ホストマシンのファイアウォールに阻まれる場合に、接続が失敗することがあります。

      ipa-debug-interpreter を使用すると、コンパイルをさらに迅速に行うことができます。また、ipa-debug-interpreter-simulator を使用すると、iOS シミュレーターで実行できます。

      詳しくは、モバイル AIR アプリケーションのデバッグを参照してください。

    • -target ipa-ad-hoc — アドホックデプロイ用のアプリケーションを作成するには、このオプションを選択します。Apple iPhone デベロッパーセンターを参照してください。

    • -target ipa-app-store — Apple App Store にデプロイする IPA ファイルの最終版を作成するには、このオプションを選択します。

    PROFILE_PATH を、アプリケーション用プロビジョニングプロファイルへのパスで置き換えます。プロビジョニングプロファイルについて詳しくは、iOS 用の設定を参照してください。

    -platformsdk オプションを使用して、iOS シミュレーターでアプリケーションを実行するように構築する場合に iOS シミュレーター SDK を参照します。

    SIGNING_OPTIONS を、iPhone 開発用証明書およびパスワードを参照するように置き換えます。次のシンタックスを使用します。

    -storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD

    P12_FILE_PATH を、P12 証明書ファイルへのパスに置き換えます。PASSWORD を、証明書のパスワードに置き換えます(後述の例を参照)。P12 証明書ファイルについて詳しくは、P12 キーストアファイルへの開発用証明書の変換を参照してください。

    注意: iOS シミュレーター用にパッケージ化する場合は自己署名証明書を使用できます。

    APP_DESCRIPTOR を、アプリケーション記述ファイルを参照するように置き換えます。

    SOURCE_FILES を、プロジェクトのメインの SWF ファイルを参照するように置き換え、その他に含めるアセットをその後ろに追加します。Flash Professional のアプリケーション設定ダイアログボックスまたはカスタムアプリケーション記述ファイルで定義したすべてのアイコンファイルのパスを含めます。また、起動画面アートファイル(Default.png)も追加します。

    -extdir extension-directory オプションを使用して、アプリケーションで使用する ANE ファイル(ネイティブ拡張)を含むディレクトリを指定します。アプリケーションでネイティブ拡張を使用しない場合は、このオプションは含めないでください。

    重要: アプリケーションディレクトリには、Resources という名前のサブディレクトリを作成しないでください。IPA パッケージ構造に準拠するために、この名前のフォルダーがランタイムによって自動的に作成されます。独自の Resources フォルダーを作成すると、致命的な競合が発生します。

デバッグ用 iOS パッケージの作成

テストデバイスにインストールする iOS パッケージを作成するには、ADT package コマンドを使用し、ターゲットの種類を ios-debug に設定します。このコマンドの実行前に、Apple から開発用コードサイニング証明書とプロビジョニングプロファイルを取得しておく必要があります。

adt     -package 
                                -target ipa-debug 
                                -storetype pkcs12 -keystore ../AppleDevelopment.p12 
                                -provisioning-profile AppleDevelopment.mobileprofile 
                                -connect 192.168.0.12 | -listen 
                                myApp.ipa 
                                myApp-app.xml 
                                myApp.swf icons Default.png
注意: ipa-debug-interpreter を使用すると、コンパイルをさらに迅速に行うことができます。また、ipa-debug-interpreter-simulator を使用すると、iOS シミュレーターで実行できます。

コマンド全体を 1 行で入力します。上記の例では、コマンドをわかりやすくするために改行を使用しました。実際には改行を使用しません。また、この例では、ADT ツールへのパスがコマンドラインシェルのパス定義に従っていることを前提としています(PATH 環境変数を参照してください)。

アプリケーションファイルが含まれているディレクトリからコマンドを実行する必要があります。この例で使用されているアプリケーションファイルは、myApp-app.xml(アプリケーション記述ファイル)、myApp.swf、icons ディレクトリ、および Default.png ファイルです。

Apple が発行した正しい配布用証明書を使用してアプリケーションに署名する必要があります。他のコードサイニング証明書を使用することはできません。

Wi-Fi デバッグの場合は -connect オプションを使用します。アプリケーションは、指定した IP またはホスト名で実行されている Flash デバッガー(FDB)を使用してデバッグセッションを開始しようとします。USB デバッグの場合は -listen オプションを使用します。まずアプリケーションを起動し、次に FDB を起動して、実行中のアプリケーションのデバッグセッションを開始します。詳しくは、Flash デバッガーへの接続を参照してください。

Apple App Store への送信用 iOS パッケージの作成

Apple App Store への送信用 iOS パッケージを作成するには、ADT package コマンドを使用し、ターゲットの種類を ios-app-store に設定します。このコマンドの実行前に、Apple から配布用コードサイニング証明書とプロビジョニングプロファイルを取得しておく必要があります。

adt     -package 
                                -target ipa-app-store 
                                -storetype pkcs12 -keystore ../AppleDistribution.p12 
                                -provisioning-profile AppleDistribution.mobileprofile 
                                myApp.ipa 
                                myApp-app.xml 
                                myApp.swf icons Default.png

コマンド全体を 1 行で入力します。上記の例では、コマンドをわかりやすくするために改行を使用しました。実際には改行を使用しません。また、この例では、ADT ツールへのパスがコマンドラインシェルのパス定義に従っていることを前提としています(PATH 環境変数を参照してください)。

アプリケーションファイルが含まれているディレクトリからコマンドを実行する必要があります。この例で使用されているアプリケーションファイルは、myApp-app.xml(アプリケーション記述ファイル)、myApp.swf、icons ディレクトリ、および Default.png ファイルです。

Apple が発行した正しい配布用証明書を使用してアプリケーションに署名する必要があります。他のコードサイニング証明書を使用することはできません。

重要: Apple では、App Store へアプリケーションをアップロードするために、Apple Application Loader プログラムを使用することを要求しています。Apple は、Mac OS X 用 Application Loader のみを公開しています。このため、Windows コンピューターを使用して iPhone 用 AIR アプリケーションを開発することはできますが、App Store にアプリケーションを送信するには、OS X(バージョン 10.5.3 以降)を実行するコンピューターにアクセスできる必要があります。Application Loader プログラムは Apple iOS Developer Center から入手できます。

アドホック配布用 iOS パッケージの作成

アドホック配布用 iOS パッケージを作成するには、ADT package コマンドを使用し、ターゲットの種類を ios-ad-hoc に設定します。このコマンドの実行前に、Apple から適切なアドホック配布用コードサイニング証明書とプロビジョニングプロファイルを取得しておく必要があります。

adt     -package 
                                -target ipa-ad-hoc 
                                -storetype pkcs12 -keystore ../AppleDistribution.p12 
                                -provisioning-profile AppleDistribution.mobileprofile 
                                myApp.ipa 
                                myApp-app.xml 
                                myApp.swf icons Default.png

コマンド全体を 1 行で入力します。上記の例では、コマンドをわかりやすくするために改行を使用しました。実際には改行を使用しません。また、この例では、ADT ツールへのパスがコマンドラインシェルのパス定義に従っていることを前提としています(PATH 環境変数を参照してください)。

アプリケーションファイルが含まれているディレクトリからコマンドを実行する必要があります。この例で使用されているアプリケーションファイルは、myApp-app.xml(アプリケーション記述ファイル)、myApp.swf、icons ディレクトリ、および Default.png ファイルです。

Apple が発行した正しい配布用証明書を使用してアプリケーションに署名する必要があります。他のコードサイニング証明書を使用することはできません。

ネイティブ拡張を使用するアプリケーション用の iOS パッケージの作成

ネイティブ拡張を使用するアプリケーション用に iOS パッケージを作成するには、ADT パッケージコマンドを、-extdir オプションを指定して使用します。ADT コマンドは、ターゲットに合わせて使用してください(ipa-app-storeipa-debugipa-ad-hocipa-test)。次に、例を示します。

adt     -package 
                                -target ipa-ad-hoc 
                                -storetype pkcs12 -keystore ../AppleDistribution.p12 
                                -provisioning-profile AppleDistribution.mobileprofile 
                                myApp.ipa 
                                myApp-app.xml 
                                -extdir extensionsDir 
                                myApp.swf icons Default.png

コマンド全体を 1 行で入力します。上記の例では、コマンドをわかりやすくするために改行を使用しました。実際には改行を使用しません。

ネイティブ拡張に関して、この例では、extensionsDir という名前のディレクトリが、コマンドを実行するディレクトリに存在すると想定しています。extensionsDir ディレクトリには、アプリケーションで使用する ANE ファイルが含まれています。