come posso leggere la versione da file descrittore dell'applicazione
-
28-09-2019 - |
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?
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