Excluding Devices From Requested Display Resolution Mode

RequestedDisplayResolution tag in application descriptor allows the developer to choose between standard or high resolution on iOS devices with high resolution screen. High resolution screens were earlier only available in iPhone and iPod 4th Generation and above. Recently released models on iPad namely iPad 3rd & 4th Generation also boast of a high resolution screen with 2048×1536 resolution. Specifying a ‘high’ value in requestedDisplayResolution tag enables the retina mode in the all iOS devices having the high resolution screen. Prior to AIR 3.6, there was no way to enable or disable retina mode on some specific devices. There existed some workarounds but they came with some trade offs of not able to use the iOS 6 specific features.

A new attribute ‘excludeDevices’ has been added in AIR 3.6  in the requestedDisplayResolution tag in the application descriptor. Developers will now be able to explicitly disable the specified display resolution on one or more iOS devices using this attribute.

<requestedDisplayResolution excludeDevices="iPhone4,1">high</requestedDisplayResolution>

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…

Deploying AIR Apps on iPhone 5

Apple recently released 5th generation of iPhone and iPod Touch. The 5th generation of iPhone and iPod Touch boasts of a 4 inch(diagonal) retina display screen with a resolution of 1136×960 pixels. The 4th generation of iPhone and iPod Touch  sported a 3.5 inch (diagonal) retina screen  with a resolution of 960×640 pixels, in comparison. The table below compares the screen size and resolution of 5th generation devices with the 4th generation devices.

Device Name

Screen Size

Resolution

iPhone and iPod Touch    ( 4th Generation)

3.5 inch (diagonal)

960*640

iPhone and iPod Touch    ( 5th Generation)

4 inch (diagonal)

1136*640

Continue reading…

Launch Images for AIR Applications on iOS

Apple expects all its iOS applications to have launch images for all supported devices and resolutions to enhance the user experience at application launch.  In general, an iPhone application should have a Portrait launch image and an iPad application should have a launch image as per the launch orientation of the application. As mentioned here, every application must include launch image for different sizes and resolution. Looking at the sizes closely, we notice that Apple expects fullscreen launch images for iPhone whereas it expects non fullscreen launch images for iPad. This size recommendation by Apple is irrespective of the fact whether the application is meant to be fullscreen or not. Continue reading…

Orientation Changes in AIR 3.5

Apple has made a significant change in the application orientation APIs in the newly released iOS 6 SDK. Some of the auto-orientation callbacks have been completely deprecated in iOS 6 SDK. This means apps packaged with iOS 6 SDK and running on iOS 6 devices will not receive the deprecated callbacks. However the same apps running on iOS 5.1 or earlier will continue to receive the deprecated native callbacks. This change affects the screen orientation API’s in AIR too and support for the new callbacks have been added in AIR 3.5 beta release available here.

Prior to iOS 6 SDK, native orientation callbacks informed the application about the new orientation it was being rotated to. Hence, an application could decide whether it wanted to rotate to the new orientation or not at runtime. However, the new callbacks do not give us such information.The OS only queries the application about the set of orientations it currently supports. If the new orientation that the application is being rotated to is one of these values, the application rotates automatically. Otherwise it does not. Continue reading…