AIR 64-bit on Mac OSX

By Nidhi Tanwar

air_3_icon_rgb

With the release of AIR 20, the feature AIR 64-bit implies a major change for the AIR desktop developers. In the previous AIR versions, a 32-bit Runtime Dynamic Library was provided for Mac and Windows. However, with the release of AIR 20, only a 64-bit Runtime Dynamic Library is provided on Mac OS X. This means that all the new applications created by AIR developers will run on the 64-bit Runtime on Mac OS X. All the existing shared applications, captive applications, and native applications will continue to work on the 64-bit Runtime on Mac OS X.

Changes for existing applications

The existing AIR applications require the following changes when using AIR 64-bit.

Shared, Captive, and Native applications

These applications will continue to run on AIR 64-bit.

Native extension

All the native applications that use a 32-bit ANE need to add a 64-bit ANE to continue working with AIR 20 and beyond on Mac OS X. To create a 64-bit ANE, you have to provide the platform value as MacOS-x86-64 in the extension descriptor file and in the command used to create the ANE.

So, a native extension descriptor file for Mac OSX will have the following structure:

<platforms>
  <platform name="MacOS-x86-64">
    <applicationDeployment>
      <nativeLibrary>…</nativeLibrary>
      <initializer>…</initializer>
      <finalizer>…</finalizer>
    </applicationDeployment>
  </platform>
</platforms>

And the command for creating the ANE will be:

adt -package  -target ane  path/where/you/want/YourANE.ane YourExtensionDescriptor.xml  -swc YourAIRLibrary.swc  -platform MacOS-x86-64  library.swf YourMacOSNativeLibrary.framework

Libraries and frameworks for Xcode

When you are creating the native code extension for 64-bit architecture using Xcode, the following libraries and frameworks have to be included in Xcode (see figure below):

  • Adobe AIR.framework
  • Adobe AIR_64

 

 

 

 

 

 

 

 

 

 

 

 

 

Note: If you do not add Adobe AIR_64, which is a 64-bit dylib inside the Adobe AIR framework, you may get link errors such as “ld: symbol(s) not found for architecture x86_64 error.”

Linking ANE using Flash Builder 4.7

If you are linking your AIR application with 64-bit ANE using Flash builder 4.7 by adding the ANE in ActionScript Build Path for the AIR project, you will notice that there is a red ‘X’ next to the ANE file entry in the Build Paths dialog box (see figure below). If you click the triangle, you will see the error “This ANE does not support air-native-macosx platform”. This is a quirk in Flash Builder 4.7; if you click the triangle next to Targets, you will see that MacOS-x86-64 is supported by the ANE.

Linking ANE using Flash Builder 4.7

 

The red ‘X’ issue is observed again when you are packaging the ANE by including the ANE in ActionScript Build Packaging.

Ignore the error and click OK.

3

 

When you are creating your native application from the Project >Export Release Build, Flash Builder displays a packaging error. To continue with app creation, check select Ignore Errors in Native Extensions tab and click Finish. Your application will be created successfully.

4

 

Related Documents

7 Responses to AIR 64-bit on Mac OSX

  1. Andrey says:

    Where can I find Adobe Air_64? There is not such file in AIR SDK from http://www.adobe.com/devnet/air/air-sdk-download.html

    • Nidhi Tanwar says:

      HI ,
      You can find Adobe AIR_64 at AIRSDK_Compiler/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/

  2. z37soft says:

    Hello.
    My application with ANE worked before. When I installed Air20 runtime, it doesn’t work.
    So I read your article and made an ANE for MacOS-x86 and MacOS-x86-64, but it still doesn’t work.
    I caught a error “Error #3500: The extension context does not have a method with the name xxxxxx.”. thus, I checked that folder in my application structure when I export release build.
    Contents/Resources/META-INF/AIR/extensions/**/META-INF/ANE/*
    unfortunately I could see MacOS-x86 only. Where is MacOS-x86-64?

    thanks.

  3. Dan says:

    Is there a way to get more notice on things like this as customers have updated to the new version of AIR and their system no longer works without getting them to uninstall AIR 20 and install AIR 19 instead?
    I now have to try and source and then probably budget and purchase 64 bit libraries for all that we have included so it could take several months before I can get it working with later versions of AIR again.

  4. Nuri says:

    Where can I find Adobe Air_64? There is not such file in AIR SDK from
    http://www.teknobolizma.com/

  5. Dave Dyer says:

    There is no air_64 packaged with the air 20 sdk. Where is it?

  6. Jason says:

    Was it really necessary to break existing installers? Even if it was, some acknowledgement of how very not ideal that is would be nice, so we know we aren’t at the mercy of idiots.