Upcoming E-Seminars: Develop Flash based iOS Apps and Games with Adobe AIR 3.3
June 14th, 2012
Adobe will be running a series of online seminars on iOS development using Adobe AIR in June, July and August. Great chance to learn the best practices and ask questions.
Check it out, the time is always:
10:00 AM - 11:00 AM US/Pacific, San Francisco
1:00 PM - 2:00 PM New York
6:00 PM - 7:00 PM London, Lisbon
7:00 PM - 8:00 PM CET, Barcelona, Paris, Berlin, Prague, Vienna
8:00 PM - 9:00 PM Kiev, Bucarest, Athens, Tel-Aviv
9:00 PM - 10:00 PM Moscow, Dubai
AIR For iOS - Build Your First iOS App - “Hello World” Session ›
Thursday, June 21, 2012
AIR For iOS - Features, Capabilities, and Limitations ›
Thursday, June 28, 2012
AIR For iOS - Measuring performance – Instruments and Monocle ›
Thursday, July 12, 2012
Build Your First iOS Native Extension With Adobe AIR ›
Thursday, July 19, 2012
Debugging AIR Native Extension For iOS ›
Thursday, July 26, 2012
AIR 3.3 - New Graphics Features ›
Thursday, August 2, 2012
Using USB debugging with AIR 3.3 for iOS
June 9th, 2012
With AIR 3.3 there is a useful feature coming - USB debugging on iOS. (Note: This feature is already available with AIR for Android.) Previously you could debug over WiFi on iOS, but now USB debugging is available and it is way more comfortable to use.
This feature is not yet available in Flash Builder, but will be in the future. If you want to use it now, follow the steps below with the command line:
To debug an AIR for iOS app, you have to use three different commands: adt (compilation), idb (port forwarding) and fdb (debugger)
1) Compile the application
Compile with ipa-debug or ipa-debug-interpreter and include the -listen [port] switch (I am using the default port 7936)
compile.sh file
-target ipa-debug-interpreter -listen 7936
-provisioning-profile PROFILE.mobileprovision
-keystore CERTIFICATE.p12 -storetype PKCS12
-storepass PASSWORD FINALAPP.ipa DESCRIPTOR-app.xml APP.swf
2) Install the application on an iOS device
I am using command-line installation on Mac, but you can use iPhone Configuration Utility, iTunes or Xcode Organizer to install .IPA file on an iOS device. Find out more about IPA installation here.
Run this at the command line; it will transfer an iOS app (IPA) to the device:
Your command-line should look like this:
3) Open the application on an iOS device
You should see this screen:
4) Launch the FDB debugger
The FDB command is part of Flex SDK, which is usually located here: “/Applications/Adobe Flash Builder 4.6/sdks/4.6.0/bin/fdb”
Execute the following command in command-line; the port we are going to use for this is 7936:
Once it opens, type run, hit enter and you should see this:
5) Forward ports with the IDB command
As a part of the AIR 3.3 SDK, you can find the idb command at AIR33SDK/lib/aot/idb/idb
It tells you what devices are connected and it allows you to forward ports and establish communication between the debugger and the device. Switch to the AIR33SDK/lib/aot/idb/ folder and run:
You should see something like this:
Handle UUID
14 2348920341abe904922030938292234
The number 14 is important in this case. Remember it and initiate port forwarding by launching:
6) Debug with the FDB debugger
Now go back to the Terminal screen where you have FDB running and type continue. You should see trace calls coming in to the terminal windows. Of course you can set breakpoints and so on, for more information see the FDB documentation.
In the debugger you should see this:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
Trying to connect to Player
Player connected; session starting.
Set breakpoints and then type ‘continue’ to resume the session.
[SWF] SimpleiOSDebug.swf - 1,393 bytes after decompression
(fdb) continue
[trace] APPLICATION INITIALIZED
[trace] HELLO DEBUGGER
[trace] HELLO DEBUGGER
[trace] HELLO DEBUGGER
The application I used was very simple, here is the code:
package { import flash.display.Sprite; import flash.events.MouseEvent; [SWF(width="960",height="640")] public class SimpleiOSDebug extends Sprite { public function SimpleiOSDebug() { trace("APPLICATION INITIALIZED"); stage.addEventListener(MouseEvent.CLICK, onClick); } protected function onClick(event:MouseEvent):void { trace("HELLO DEBUGGER"); } } }
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)
-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:
-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.
-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:
-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.