Simulazione del dispositivo con iOS Simulator

iOS Simulator (disponibile solo per Mac) offre un modo rapido per eseguire applicazioni iOS ed effettuarne il debug. Quando testate un'applicazione con iOS Simulator, non avete bisogno di un certificato per sviluppatori né di un profilo di provisioning. Dovete comunque creare un certificato p12, ma può essere autofirmato.

Per impostazione predefinita, ADT avvia sempre il simulatore di iPhone. Per modificare il dispositivo di simulazione, procedete come segue:

  • Usate il comando seguente per visualizzare i simulatori disponibili.

    xcrun simctl list devices

    L'output avrà un aspetto simile a quello illustrato di seguito.

                            == 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)
                            ....
  • Potete scegliere un simulatore specifico impostando la variabile di ambiente AIR_IOS_SIMULATOR_DEVICE , come indicato di seguito:

    export AIR_IOS_SIMULATOR_DEVICE = 'iPad Retina'

Riavviate il processo dopo aver impostato la variabile di ambiente ed eseguite l'applicazione sul dispositivo di simulazione di vostra scelta.

Nota: quando usate ADT con iOS Simulator, dovete sempre includere l'opzione -platformsdk , specificando il percorso di iOS Simulator SDK.

Per eseguire un'applicazione in iOS Simulator:

  1. Utilizzate il comando adt -package con -target ipa-test-interpreter-simulator oppure con -target ipa-debug-interpreter-simulator , come nell'esempio seguente:

    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
    Nota: Le opzioni di firma non sono ora più richieste per i simulatori, pertanto qualsiasi valore può essere fornito in flag -keystore poiché non sarà rispettato da ADT.
  2. Utilizzate il comando -installApp per installare l'applicazione in iOS Simulator, come nell'esempio seguente:

    adt     -installApp 
                                    -platform ios 
                                    -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk 
                                    -device ios-simulator 
                                    -package sample_ipa_name.ipa
  3. Utilizzate il comando adt -launchApp per eseguire l'applicazione in iOS Simulator, come nell'esempio seguente:

    Nota: Per impostazione predefinita, il comando adt -launchApp esegue l'applicazione nel simulatore per iPhone. Per eseguire l'applicazione in un simulatore per iPad, esportare la variabile di ambiente AIR_IOS_SIMULATOR_DEVICE = "iPad" e quindi utilizzare il comando adt -launchApp .
    adt     -launchApp 
                                    -platform ios 
                                    -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk 
                                    -device ios-simulator 
                                    -appid sample_ipa_name

Per testare un'estensione nativa in iOS Simulator, utilizzate il nome piattaforma iPhone-x86 nel file extension.xml e specificate library.a (libreria statica) nell'elemento nativeLibrary , come nell'esempio seguente:

<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>
Nota: quando testate un'estensione nativa in iOS Simulator, non utilizzate la libreria statica (file .a ) compilata per il dispositivo, bensì quella compilata per il simulatore.