Question

Je dispose d'un fichier descripteur d'application de base pour mon application AIR. Il ressemble à quelque chose comme ça, raccourci pour la santé 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>

Maintenant, je veux dans l'application pour afficher la version, mais je ne veux pas avoir à maintenir la version en plusieurs endroits, alors comment puis-je lire que le numéro de version dans l'application?

Était-ce utile?

La solution

Vérifier le code suivant:

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

Autres conseils

a légèrement changé dans les versions récentes d'AIR (AIR version 3.x). Au lieu de appXml.ns :: version vous plutôt utiliser appXml.ns :: versionNumber.

Notez que appXml.ns :: versionNumber est un XMLList composé d'un objet XML unique, donc il faut un peu de creuser si vous voulez arriver à la valeur de chaîne réelle:

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

Mise à jour 17 Mars 2017 À un certain moment, ils ont changé applicationDescriptor AIR à nouveau. Le code suivant fonctionne dans 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top