Pergunta

Então, eu tenho um arquivo de descritor de aplicativos básico para o meu aplicativo aéreo. Parece algo assim, encurtado para a sanidade:

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

Agora eu quero no aplicativo exibir a versão, mas não quero manter a versão em vários lugares, então como posso ler esse número de versão dentro do aplicativo?

Foi útil?

Solução

Verifique o seguinte código:

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

Outras dicas

Isso mudou ligeiramente nas versões recentes do AIR (AIR versão 3.x). Em vez da versão appxml.ns ::, você usaria appxml.ns :: versãoNumber.

Observe que AppXml.Ns :: VersionNumber é um xmllist que consiste em um único objeto XML, por isso requer um pouco de escavação se você quiser acessar o valor real da string:

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

ATUALIZAÇÃO, 17 de março de 2017: Em algum momento, eles mudaram o ApplicationDescriptor da Air novamente. O código a seguir está funcionando no ar 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top