アプリケーション記述子ファイルからバージョンを読むにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/3470358

質問

そのため、AIRアプリ用の基本的なアプリケーション記述子ファイルがあります。それはこのように見え、正気のために短縮されました:

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

これでアプリケーションでバージョンを表示したいのですが、バージョンを複数の場所で維持する必要はありません。

役に立ちましたか?

解決

次のコードを確認してください。

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

他のヒント

これは、最近のバージョンのAIR(AIRバージョン3.x)でわずかに変化しました。 appxml.ns ::バージョンの代わりに、代わりにappxml.ns :: versionnumberを使用します。

appxml.ns :: versionnumberは、単一のxmlオブジェクトで構成されるxmllistであるため、実際の文字列値を把握するには、少し掘る必要があります。

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

更新、2017年3月17日:ある時点で、彼らはAirのApplicationDescriptorを再び変更しました。次のコードは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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top