Domanda

Così ho un file descrittore dell'applicazione di base per la mia app AIR. Sembra qualcosa di simile, accorciata per la sanità mentale:

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

Ora voglio l'applicazione per visualizzare la versione, ma io non voglio avere per mantenere la versione in più luoghi, così come posso leggere quel numero di versione dall'interno dell'applicazione?

È stato utile?

Soluzione

Controlla il seguente codice:

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

Altri suggerimenti

Questa è leggermente cambiata nelle ultime versioni di AIR (AIR versione 3.x). Invece di appXml.ns :: versione, si dovrebbe invece usare appXml.ns :: versionNumber.

Si noti che appXml.ns :: versionNumber è un XMLList costituito da un unico oggetto XML, in modo che richiede un po 'di scavo, se si vuole raggiungere il valore stringa effettiva:

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

Update, 17 marzo 2017: Ad un certo punto, hanno cambiato di nuovo applicationDescriptor di AIR. Il seguente codice funziona 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top