2012-04-17 7 views
7

Esiste un'API as3 in Air (sto usando 3.2) per accedere alla versione dell'applicazione? Quello che offro su App Store o Android Market?Trova la versione dell'applicazione Air in AS3 su iOS e Android

+0

Hi Zabar solo pensato che avevo messo alcuni pensieri là fuori, io non credo che ci sia una tale API. Parte del motivo che immagino sia vero è che il file descrittore dell'applicazione è (in parte) analizzato in un file AndroidManifest.xml per le app Android. Immagino che qualcosa di simile si verifichi per lo sviluppo di iOS ma non so che il file sia conservato nel suo forma originale e non ho visto nulla che rimandi ovviamente alla versione dell'app. Molto di più su tutte le altre versioni qui http://www.senocular.com/flash/tutorials/versions/ – shaunhusain

risposta

7

Sì, è possibile estrarlo direttamente dal descrittore xml dell'applicazione. Qualcosa del genere dovrebbe funzionare:

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

ah bello sapere che è facilmente accessibile semplice risposta pulita – shaunhusain

+0

@shaunhusain bene questo è tutto presupponendo che hai inserito una versione significativa numero nel tuo descrittore. nativeApplication.applicationDescriptor restituirà l'intero descrittore xml. Puoi quindi accedere a qualsiasi cosa tu possa desiderare da questo – francis

+0

restituisce null su ios – mika

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

Questo è ciò che funziona per me. "descriptor" var è usato in AIR 3.2 per UIComponentDescriptor, quindi non posso usare quel nome di variabile. Inoltre, l'accesso statico a nativeApplication (NativeApplication.nativeApplication) mi ha fornito un riferimento a un puntatore nullo, quindi l'ho acquisito direttamente.

Infine, versionNumber è ciò che memorizza la versione in AIR 3.2.

3

sembra che sia diverso per Air 4.0 Questo ha funzionato per me:

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