Tom Krcha's FlashRealtime

Test2Hey amigo!
I am Tom Krcha, Gaming Evangelist at Adobe. These are my notes


Run your Flash apps in Xcode iOS Simulator with AIR 3.3

June 9th, 2012


AIR 3.3 adds a new feature to preview and debug your apps directly in iOS Simulator, which is part of Xcode on Mac. This speeds up testing and preview of an app or a game especially when you use native extensions.

[Download AIR 3.3 SDK]
[ADT command documentation]

Simulator support is not yet part of Flash Builder, but you can already use it via the command-line:

Compile for iOS Simulator
There are two new options available with adt for iOS Simulator compilation:
1) ipa-test-interpreter-simulator (for testing)
2) ipa-debug-interpreter-simulator (for debugging)

PATH_TO_AIR33SDK/bin/adt -package
-target ipa-test-interpreter-simulator
-provisioning-profile DEMO.mobileprovision
-keystore CERTIFICATE.p12
-storetype PKCS12
-storepass PASSWORD FINALAPP.ipa DESCRIPTOR.xml APP.swf



The command in Terminal.app on Mac:



Install to iOS Simulator
In order to install app to iOS Simulator use the -installApp switch. See usage below:

PATH_TO_AIR33SDK/bin/adt -installApp
-platform ios
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
-device ios-simulator
-package FINALIPA.ipa



Launch app in iOS Simulator
To launch the app, there is the -launchApp switch used together with the -appid.

PATH_TO_AIR33SDK/bin/adt -launchApp
-platform ios
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
-device ios-simulator
-appid com.krcha.IDofMyApplication



Uninstall app from iOS Simulator
Use the -uninstallApp switch. See below:

PATH_TO_AIR33SDK/bin/adt -uninstallApp
-platform ios
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
-device ios-simulator
-package com.krcha.IDofMyApplication



In the real world, it’s good to put the commands above in separate .sh or .bat files. You can also combine them into a single command to run your app even faster; for example:
run.sh
1) compile.sh
2) uninstall.sh
3) install.sh
4) launch.sh


Important note: in order to make native extensions run properly in iOS Simulator, you have to compile them with iPhone-x86 settings, not iPhone-ARM.
In extension.xml change the platform name

<platform name=”iPhone-x86″>

Waste Invaders running in the iOS Simulator.

Facebook comments:

5 Comments »

  1. Thanks Tom, this is will be really handy for devs wanting to get this into the workflow and not wait until FB supports it.

    Comment by Mike G - Lime Rocket — June 11, 2012 @ 1:43 pm

  2. Is it possible to do this trick with an SWF compiled in Flash Professional 6 on MAC? I tried it, but i had no luck to compile it with ipa-test-interpreter-simulator. Always get Java Errors. Any help is much appreciated. regards ChromeD

    Comment by ChromeDemon — June 14, 2012 @ 12:23 pm

  3. @ChromeDemon: There is no official support for Flash Pro CS6 yet. Just use commandline for compilation, that’s the most convenient way right now. We are working on the tooling support for the future. But theoretically: First you would need to attach AIR 3.3 SDK - have you done this?

    Comment by tom — June 14, 2012 @ 7:50 pm

  4. I’m a little confused about the best way to debug my app.

    When I’m developing for web/desktop- I simply hit “debug” in flash builder and I can see all my trace statements, etc.

    Now I want to port it to iOS and use gyroscope, accelerometer and so on. What is the fastest way to test this as a developer? I’m not so interested in deep internals (like ram use, framerate, so on). I just want to view trace statements so I can make the controls…

    I’ve seen screenshots of the emulator in Flash Pro CS6- but this strikes me as a bit weird… as though I’m supposed to use Flash Pro for development? Or does the emulator there link up with Flash Builder somehow?

    Maybe it’s just my workflow, but exporting to an IPA and moving it to the device is way too slow of a bottleneck for this stage of the development (yes- later on, for tweaking, it’s important to test on the real device… but for now I just want to rapidly switch back and forth between code and test)

    Comment by David Komer — July 19, 2012 @ 10:10 am

  5. good.I really like this article.

    Comment by Louis Vuitton Handbags Outlet — August 14, 2012 @ 9:28 am

RSS feed for comments on this post. / TrackBack URL

Leave a comment