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를 사용하는 경우 항상 -platformsdk 옵션을 포함하여 iOS 시뮬레이터 SDK에 대한 경로를 지정해야 합니다.

iOS 시뮬레이터에서 응용 프로그램을 실행하려면

  1. 다음 예제와 같이 -target ipa-test-interpreter-simulator 또는 -target ipa-debug-interpreter-simulator 와 함께 adt -package 명령을 사용합니다.

    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
    참고: 이제 시뮬레이터의 경우 서명 옵션이 더 이상 필요하지 않습니다. 따라서 ADT에서 인정되지 않으므로 -keystore 플래그에 임의의 값을 제공할 수 있습니다.
  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 플랫폼 이름을 사용하고 library.a (정적 라이브러리)( nativeLibrary 요소)를 지정합니다.

<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 파일)를 사용하지 마십시오. 그 대신에 시뮬레이터용으로 컴파일된 정적 라이브러리를 사용해야 합니다.