apache-flex 如何从应用程序描述符文件中读取版本

gcuhipw9  于 2022-11-01  发布在  Apache
关注(0)|答案(2)|浏览(146)

因此,我为AIR应用程序创建了一个基本的应用程序描述符文件。它看起来像这样,出于合理性的考虑,将其缩写为:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/2.0">
  <version>1.0.10</version>
</application>

现在,我希望在应用程序中显示版本,但又不希望在多个位置维护版本,那么如何从应用程序中读取版本号呢?

zzlelutf

zzlelutf1#

检查以下代码:

var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
            var ns:Namespace = appXml.namespace(); 
            trace(appXml.ns::version);
2uluyalo

2uluyalo2#

在最近的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

相关问题