我正在使用Flash(NOT Flex)在AIR(v3.3)中构建一个应用程序,但我在更新框架方面遇到了问题。我找到的所有资源都是针对旧版本的AIR和/或Flex构建的。这是我第一次这样做,非常感谢一些指导。。。
我有一个简单的测试应用程序-一个图像(将v1更改为v2)和一个文本字段。这是我尝试过的(如下http://goo.gl/uvycg):
...
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
...
public function checkForUpdate():void
{
...
appUpdater.updateURL = "http://mysite.com/updates/update-descriptor.xml";
appUpdater.isCheckForUpdateVisible = false;
appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate);
appUpdater.addEventListener(ErrorEvent.ERROR, onError);
appUpdater.initialize();
}
private function onUpdate(event:UpdateEvent):void
{
txt.text = 'onUpdate()';
appUpdater.checkNow();
}
private function onError(event:ErrorEvent):void {
txt.text = 'onError() ' + event.toString();
}
这是我的更新描述符.2.5.xml:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>2.0</versionNumber>
<versionLabel>Beta 2</versionLabel>
<url>http://mysite.com/updates/UpdateTest.air</url>
<description>
<![CDATA[ update of bees. geometric growth. ]]>
</description>
因此,应用程序的v2更新描述符在服务器上,我安装并运行应用程序的v1,所发生的只是我在文本字段中看到onUpdate()消息,没有发生更新。我哪里错了?谢谢
根据文档,您似乎需要确保ApplicationUpdaterUI的当前状态为"就绪",否则"checkNow()"将无能为力。
关于Adobe AIR更新的最新信息可以在这里找到。它适用于所有领域。