Frage

So habe ich eine grundlegende Anwendungsdeskriptordatei für meine AIR-Anwendung. Es sieht so etwas wie diese, für geistige Gesundheit verkürzt:

<?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>

Jetzt mag ich in der Anwendung die Version angezeigt werden, aber ich will nicht zu haben, die Version in mehreren Orten zu halten, so wie kann ich lesen, dass die Versionsnummer aus der Anwendung heraus?

War es hilfreich?

Lösung

Überprüfen Sie den folgenden Code ein:

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

Andere Tipps

Das hat etwas in der letzten Versionen von AIR (AIR-Version 3.x) geändert. Statt appXml.ns :: Version, würden Sie stattdessen appXml.ns verwenden :: Versionsnummer.

Beachten Sie, dass appXml.ns :: Versionsnummer ist ein XMLList eines einzelnen XML-Objekt aus, so dass es ein bisschen graben erfordert, wenn Sie den aktuellen String-Wert erhalten möchten:

var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:Namespace = appXml.namespace();
var appVersion:String = appXml.ns::versionNumber[0].toString();
trace("appVersion", appVersion);

Update, 17. März 2017: An einem gewissen Punkt, änderten sie AIR applicationDescriptor wieder. Der folgende Code arbeitet in 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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top