iOS シミュレーターを使用したデバイスシミュレーション

iOS シミュレーター(Mac のみ)を使用すると、iOS アプリケーションを迅速に実行およびデバッグできます。iOS シミュレーターを使用してテストを行う場合、開発用証明書やプロビジョニングプロファイルは不要です。p12 証明書は作成する必要がありますが、自己署名証明書を使用できます。

デフォルトでは、ADT は常に iPhone シミュレーターを起動します。シミュレーターデバイスを変更するには、次の操作を実行します。

  • 以下のコマンドを使用して、使用可能なシミュレーターを表示します。

    xcrun simctl list devices

    以下のような出力が表示されます。

                            == Devices == 
                            -iOS 10.0 – 
                            iPhone 5 (F6378129-A67E-41EA-AAF9-D99810F6BCE8) (Shutdown)
                            iPhone 5s (5F640166-4110-4F6B-AC18-47BC61A47749) (Shutdown)
                            iPhone 6 (E2ED9D38-C73E-4FF2-A7DD-70C55A021000) (Shutdown)
                            iPhone 6 Plus (B4DE58C7-80EB-4454-909A-C38C4106C01B) (Shutdown)
                            iPhone 6s (9662CB8A-2E88-403E-AE50-01FB49E4662B) (Shutdown)
                            iPhone 6s Plus (BED503F3-E70C-47E1-BE1C-A2B7F6B7B63E) (Shutdown)
                            iPhone 7 (71880D88-74C5-4637-AC58-1F9DB43BA471) (Shutdown)
                            iPhone 7 Plus (2F411EA1-EE8B-486B-B495-EFC421E0A494) (Shutdown)
                            iPhone SE (DF52B451-ACA2-47FD-84D9-292707F9F0E3) (Shutdown)
                            iPad Retina (C4EF8741-3982-481F-87D4-700ACD0DA6E1) (Shutdown)
                            ....
  • 環境変数 AIR_IOS_SIMULATOR_DEVICE を次のように設定して、特定のシミュレーターを選択できます。

    export AIR_IOS_SIMULATOR_DEVICE = 'iPad Retina'

環境変数を設定した後にプロセスを再起動して、選択したシミュレーターデバイスでアプリケーションを実行します。

注意: iOS シミュレーターで ADT を使用する場合は、iOS シミュレーター SDK のパスを指定する -platformsdk オプションを必ず含める必要があります。

iOS シミュレーターでアプリケーションを実行するには、次の手順を実行します。

  1. 次の例に示すように、adt -package コマンドで -target ipa-test-interpreter-simulator または -target ipa-debug-interpreter-simulator を指定します。

    adt     -package 
                                    -target ipa-test-interpreter-simulator 
                                    -storetype pkcs12 -keystore Certificates.p12 
                                    -storepass password 
                                    myApp.ipa 
                                    myApp-app.xml 
                                    myApp.swf 
                                    -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
    注意: シミュレーターで署名オプションを使用する必要はなくなりました。そのため、-keystore フラグに任意の値を指定できます。これは ADT でこのフラグが無視されるためです。
  2. 次の例に示すように、adt -installApp コマンドを使用して、iOS シミュレーターにアプリケーションをインストールします。

    adt     -installApp 
                                    -platform ios 
                                    -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk 
                                    -device ios-simulator 
                                    -package sample_ipa_name.ipa
  3. 次の例に示すように、adt -launchApp コマンドを使用して、iOS シミュレーターでアプリケーションを実行します。

    注意: adt -launchApp コマンドは、デフォルトではアプリケーションを iPhone シミュレーター内で実行します。アプリケーションを iPad シミュレーター内で実行するには、環境変数 AIR_IOS_SIMULATOR_DEVICE = "iPad" を書き出してから、adt -launchApp コマンドを使用します。
    adt     -launchApp 
                                    -platform ios 
                                    -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk 
                                    -device ios-simulator 
                                    -appid sample_ipa_name

iOS シミュレーターでネイティブ拡張をテストするには、次の extension.xml の例に示すように、extension.xml でプラットフォーム名として iPhone-x86 を使用し、nativeLibrary エレメントに library.a(静的ライブラリ)を指定します。

<extension xmlns="http://ns.adobe.com/air/extension/3.1"> 
                          <id>com.cnative.extensions</id> 
                          <versionNumber>1</versionNumber> 
                          <platforms> 
                            <platform name="iPhone-x86"> 
                              <applicationDeployment> 
                                <nativeLibrary>library.a</nativeLibrary> 
                                <initializer>TestNativeExtensionsInitializer </initializer> 
                                <finalizer>TestNativeExtensionsFinalizer </finalizer> 
                              </applicationDeployment> 
                            </platform> 
                          </platforms> 
                        </extension>
注意: iOS シミュレーターでネイティブ拡張をテストする場合は、デバイス用にコンパイルされている静的ライブラリ(.a ファイル)を使用しないでください。代わりに、シミュレーター用にコンパイルされている静的ライブラリを使用します。