AIR and Flash Player 30 released


On June 7, 2018 Flash and AIR v30.0 have been released.

See the Release Notes for Flash Player® 30 and AIR® 30

New Features

  • C++ Compiler for iOS
    With AIR 30, the C++ Compiler has been upgraded to Standard C++14 in the AIR Runtime.

  • NDK Upgrade for Android
    For AIR 30, the NDK for Android has been upgraded to Android NDK, Revision 16b (December 2017).

  • Significant changes have been made in the tools used to build the runtime, but this should not affect any functionality on Android or iOS. If you encounter any performance or functional issues, please raise them on the AIR developer forums and our bug tracker.

Fixed Issues

Flash Player

  • Host cannot promote Participants into Host or Presenter role in a Connect Meeting.


  • Apple store REJECTION - AIR SDK using non-public APIs (AIR-4198623)
  • Error installing ad-hoc application on device using ad-hoc provisioning
  • Error with App Upload to Apple app store for missing NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription keys
  • ADT to correctly sign dynamic frameworks included packaged with iOS app (AIR-4198407)
  • Echo during video conference (AIR-4198549)
  • iphone8 and iphonex, map using atf the etc2 map will appear maze or color variegated. (AIR-4198515)
  • [Swift ANE] Dynamic framework signing issue
  • ATFViewer does not get launched.
  • Runtime.apk showing incorrect version on devices.
  • Packaging an application for iOS using dynamic framework gives NullPointerException when packaging with distribution certificate (AIR-4198408)
  • ADT to correctly sign dynamic frameworks included packaged with iOS app (AIR-4198407)
  • iOS app uploading to AppStore via iTunes shows WARNING ITMS-90722: "Certificate Expired” ( AIR-4198649 ,AIR-4198650)

Thanks to the Adobe Team :slight_smile:

here the usual links


Little discovery while I was reviewing some i18n and l10n stuff

AIR 30 added support for the Indonesian language in <supportedLanguages>
if you look at the Descriptor.30.0.xsd file
under templates/air/ (where the AIR SDK is installed)

you will see

  <xs:simpleType name="languageNameType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cs" />
      <xs:enumeration value="da" />
      <xs:enumeration value="de" />
      <xs:enumeration value="el" />
      <xs:enumeration value="en" />
      <xs:enumeration value="es" />
      <xs:enumeration value="fi" />
      <xs:enumeration value="fr" />
      <xs:enumeration value="in" /><!-- here -->
      <xs:enumeration value="it" />
      <xs:enumeration value="iw" />
      <xs:enumeration value="ja" />
      <xs:enumeration value="ko" />
      <xs:enumeration value="ms" />
      <xs:enumeration value="nb" />
      <xs:enumeration value="nl" />
      <xs:enumeration value="pl" />
      <xs:enumeration value="pt" />
      <xs:enumeration value="ru" />
      <xs:enumeration value="sv" />
      <xs:enumeration value="th" />
      <xs:enumeration value="tr" />
      <xs:enumeration value="vi" />
      <xs:enumeration value="zh" />

and if you create a new project the app.xml will shows

Android Native uses “in” code for indonesean language, wherein native iOS uses “id” as its language code.
We have added support of “id” in “in” code to support iOS with the same tag.

<supportedLanguages>cs da de el en es fi fr in it iw ja ko ms nb nl pl pt ru sv th tr vi zh</supportedLanguages>

see Localizing the application name and description in the AIR application installer

    <text xml:lang="en">Sample 1.0</text> 
    <text xml:lang="fr">Échantillon 1.0</text> 
    <text xml:lang="de">Stichprobe 1.0</text> 

so yeah since AIR 30 you could also use

    <!-- since AIR 1.1 -->
    <text xml:lang="en">Sample 1.0</text> 
    <text xml:lang="fr">Échantillon 1.0</text> 
    <text xml:lang="de">Stichprobe 1.0</text> 
    <!-- added AIR 25 -->
    <text xml:lang="da">Prøve 1.0</text><!-- danish -->
    <text xml:lang="nb">Prøve 1.0</text><!-- norwegian -->
    <text xml:lang="iw">לִטעוֹם 1.0</text><!-- hebrew -->
    <!-- added AIR 30 -->
    <text xml:lang="in">Mencicipi 1.0</text><!-- indonesian -->

and for extra infos: why iw and not he ? why in and not id ?


Code for the Representation of the Names of Languages. From ISO 639, revised 1989.

HEBREW          HE     SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
INDONESIAN      ID     OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]