Posts in Category "ADT"

External hosting of secondary SWFs for AIR apps on iOS

Starting with AIR 3.7, application developers will be able to host their secondary SWFs on an external server and load them on demand as per their application logic.

Till AIR 3.5, loading of only assets such as images, videos and SWFs without actionscript code, commonly referred as Actionscript Byte Code(ABC Code), from external server was supported. The workflow for the application developer for loading such assets from server resembles the diagram below :

 AIR 3.5 Workflow

With AIR 3.6, the feature for loading of locally packaged secondary SWFs containing ABC code was introduced. The detailed description about this feature and its usage can be found at this blog – “Packaging and loading of multiple SWFs for AIR apps on iOS“. The workflow for the application developer using this feature is described in the diagram below:

Continue reading…

Packaging and loading multiple SWFs in AIR apps on iOS

In AIR SDK 3.6 for iOS, there is a new feature that allows application developers to be able to package and load secondary SWFs that contain ActionScript byte code (or ABC) in their apps. Presently, due to certain restrictions on iOS, AIR on iOS requires that all the ActionScript code of an application be present in the main SWF or the root SWF. With this feature, an application developer can have ActionScript code in local secondary SWFs and package them along with the main SWF.

Continue reading…

AOT Compilation Optimization

This post will talk about a small optimization that developers can do within their code to reduce the amount of time taken for AOT compilation of their application I would recommend developers to read this post to understand what is meant by AOT compilation.

One of the intermediate steps in AOT compilation requires LLVM to process the LLVM bytecode and to optimized LLVM bytecode. In case one of your function has a lot of actionscript code (~30000 lines) then the corresponding LLVM code is around 1.3 million lines. LLVM is known to perform badly (compilation time) on large functions. As a recommendation, actionscript developers should break down on large function into smaller functions to reduce the AOT compilation time. They need not change any code, just break a large function into many smaller functions to reduce AOT compilation time significantly.

Installing/Uninstalling iOS AIR applications on iOS devices using ADT

With AIR 3.4, it would be possible to use ADT to install AIR applications on the iOS devices (i.e iPod, iPhone and iPad) from both desktop operating systems (i.e MAC and Windows). Prior to AIR3.4,  developers have to use iTunes, XCode etc to install the iOS AIR applications and that was a cumbersome process.

This new capability will make the install/uninstall process a lot more seamless. To install/uninstall an iOS AIR application on the device, simply follow the following instructions:

First of all, we need to know the number of devices, along with their device-id’s, which are attached to the machine. This can be done using the following ADT command.

adt -devices -platform ios
List of attached devices:
Handle	DeviceClass	DeviceUUID					DeviceName
   22	iPhone  	24d9b6fd...................a861117a7866510	myiPhone
   23	iPod    	24d9b6fd...................a861117a7866510	myIpod

The handle in the output of the above command is the device-id to be used to install/uninstall application in that particular device.

Once, we have the information about the devices attached to the machine we can use the following command to install the application on the device.

adt -installApp PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -package 
eg. adt -installApp -platform ios -device  <device-id>  -package /path/to/my.ipa

In case only one device is attached, there is no need to specify -device argument.

adt -installApp -platform ios -package /path/to/my.ipa

Similarly to uninstall the application from the ios device, use the following command line

adt -uninstallApp   PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -appid 
eg. adt -uninstallApp -platform ios -device <device-id>   -appid com.adobe.myapp

In case only one device is attached, there is no need to specify -device argument.

adt -uninstallApp -platform ios -appid com.adobe.myapp

NOTE:
<app-id> is specified in the application descriptor file (app.xml) within the <id> tag . If you create your project using Flash Builder, by default it would be the same as your app name.