Как я могу прочитать версию из файла дескриптора приложений
-
28-09-2019 - |
Вопрос
Поэтому у меня есть базовый файл дескриптора приложений для моего воздушного приложения. Это выглядит что-то подобное, сокращенное здравомыслие:
<?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);
Другие советы
Это немного изменилось в последних версиях воздуха (воздушная версия 3.x). Вместо appxml.ns :: версия, вы вместо этого используете Appxml.ns :: версию.
Обратите внимание, что appxml.ns :: версийныйanumber - это xmllist, состоящий из одного объекта XML, поэтому он требует немного копания, если вы хотите добраться до фактического значения строка:
var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:Namespace = appXml.namespace();
var appVersion:String = appXml.ns::versionNumber[0].toString();
trace("appVersion", appVersion);
Обновление, 17 марта 2017: В какой-то момент они снова поменяли Applicate 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