这在最近的 AIR 版本(AIR 版本 3.x)中略有改变。您可以使用 appXml.ns::versionNumber 代替 appXml.ns::version。
请注意,appXml.ns::versionNumber 是一个由单个 XML 对象组成的 XMLList,因此如果您想获得实际的 String 值,则需要进行一些挖掘:
var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:Namespace = appXml.namespace();
var appVersion:String = appXml.ns::versionNumber[0].toString();
trace("appVersion", appVersion);
2017 年 3 月 17 日更新:在某个时候,他们再次更改了 AIR 的 applicationDescriptor。以下代码在 AIR 23 中运行:
var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:String = appXml.namespace().toString();
var nsArray:Array = ns.split("/");
var appVersion:Number = nsArray[nsArray.length - 1];
trace("appVersion:", appVersion); // appVersion: 23.0