Pregunta

Así que tiene un archivo descriptor de la aplicación básica para mi aplicación AIR. Se ve algo como esto, acortada por la cordura:

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

Ahora quiero en la aplicación para mostrar la versión, pero no quiero tener que mantener la versión en varios lugares, así que ¿cómo puedo leer ese número de versión desde la aplicación?

¿Fue útil?

Solución

Compruebe el código siguiente:

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

Otros consejos

Esto ha cambiado ligeramente en las últimas versiones de AIR (AIRE versión 3.x). En lugar de appXml.ns :: versión, debe en su lugar utilizar appXml.ns :: versionNumber.

Tenga en cuenta que appXml.ns :: versionNumber es un objeto XMLList que consiste en un único objeto XML, por lo que requiere un poco de excavación si se quiere llegar al valor de cadena real:

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

Actualización 17 de marzo, 2017 En algún momento, cambiaron applicationDescriptor de aire otra vez. El siguiente código está trabajando en 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top