使用 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'

設定環境變數之後,請重新啟動處理程序,並在所選的模擬器裝置上執行應用程式。

備註: 在搭配使用 ADT 與 iOS 模擬器時,您必須一律加入 ‑platformsdk 選項,以指定 iOS 模擬器 SDK 的路徑。

若要在 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 檔案中的 iPhone-x86 平台名稱並在 nativeLibrary 元素中指定 library.a (靜態元件庫),如下列 extension.xml 範例所示:

<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 檔案)。相反地,請務必使用針對模擬器進行編譯的靜態元件庫。