2012-04-17 13 views
7

¿Hay una API de As3 en Air (estoy usando 3.2) para acceder a la versión de mi aplicación? ¿El que doy en App Store o Android Market?Encontrar mi versión de la aplicación aérea en AS3 en iOS y Android

+0

Hola Zabar simplemente pensó que había puesto algunas ideas por ahí, no creo que hay una API. Parte de la razón por la que imagino que esto es cierto es que el archivo descriptor de la aplicación (en parte) se analiza en un archivo AndroidManifest.xml para aplicaciones de Android. Imagino que ocurre algo similar para el desarrollo iOS pero no sé si el archivo se conserva en su forma original y no he visto nada que obviamente apunte a la versión de la aplicación. Mucho más en todas las otras versiones aquí http://www.senocular.com/flash/tutorials/versions/ – shaunhusain

Respuesta

7

Sí, puede extraerlo directamente del descriptor xml de la aplicación. Algo como esto debería funcionar:

var descriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; 
var ns:Namespace = descriptor.namespace(); 
var version:String = descriptor.ns::version[0]; 
+0

ah bien, es bueno saber que es muy fácil de acceder, limpio, simple respuesta – shaunhusain

+0

@shaunhusain, bueno, esto es todo suponiendo que haya ingresado una versión significativa número en su descriptor. nativeApplication.applicationDescriptor devolverá todo su descriptor xml. A continuación, puede acceder a todo lo que pueda necesitar – francis

+0

devuelve nulo en ios – mika

2
var _descriptor:XML = nativeApplication.applicationDescriptor; 
var ns:Namespace = _descriptor.namespace(); 
var version:String = _descriptor.ns::versionNumber; 

Esto es lo que funciona para mí. "descriptor" var se usa en AIR 3.2 para un UIComponentDescriptor, por lo que no pude usar ese nombre de variable. Además, el acceso estático a nativeApplication (NativeApplication.nativeApplication) me dio una referencia de puntero nulo, así que simplemente lo agarré directamente.

Por último, versionNumber es lo que almacena la versión en AIR 3.2.

3

parece que es diferente para Aire 4.0 Esto funcionó para mí:

var descriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; 
var ns:Namespace = descriptor.namespace(); 
var version:String = descriptor.ns::versionNumber; 
Cuestiones relacionadas