Adobe AIR EncryptedLocalStore问题

时间:2011-02-13 05:13:25

标签: macos air adobe storage

在我的计算机上安装应用程序后,加密本地存储无法运行。我在这台带有encryptedlocalstore的电脑上遇到了问题,所以我设置了一个基本的测试程序。

从adl运行时工作正常,但在正常运行时不起作用。如果我从.app / Contents / Resources文件夹中运行已安装的应用程序上的adl,应用程序工作正常,但是当正常运行时它会失败。

我已经尝试删除我的整个〜/ Library / Application Support / Adob​​e / AIR / ELS文件夹,但无济于事。我卸载并重新安装了Adobe Air 2.5.1,但ELS仍然失败。 Application的文件夹是在ELS文件夹中创建的,但是对ELS的调用都不起作用,并且抛出错误消息“一般内部错误”。错误消息没有附加堆栈跟踪。

我正在运行Mac OSX 10.6.6

代码非常简单,但无论如何我都会附上它。

有什么想法吗?

<?xml version="1.0"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   applicationComplete="init()">

<s:layout>
    <s:VerticalLayout/>
</s:layout>

<fx:Script><![CDATA[
    import mx.controls.Alert;

    protected function init():void
    {
        output.text += "before\n";

        try
        {
            var data:ByteArray = EncryptedLocalStore.getItem("testItem");
            if (!data)
            {
                output.text += "Value not set\n";
            }
            else
            {
                output.text += "Value Was: " + data.readUTFBytes(data.bytesAvailable) + "\n";
                EncryptedLocalStore.removeItem("testItem");
                output.text += "Item Removed\n";
            }
        }
        catch (e:Error)
        {
            output.text += e.message + "\n";
            output.text += e.getStackTrace() + "\n";
        }

        output.text += "after\n";
    }

    protected function storeItem():void
    {
        var bytes:ByteArray = new ByteArray();
        bytes.writeUTFBytes(toStore.text);
        EncryptedLocalStore.setItem("testItem", bytes);
        output.text += "Value Stored: " + toStore.text + "\n";
    }
    ]]></fx:Script>

<s:TextInput id="toStore"/>
<s:Button click="storeItem()" label="Store Val"/>
<s:TextArea id="output"/>

1 个答案:

答案 0 :(得分:1)

此问题已在Adobe Air论坛http://forums.adobe.com/thread/790858?tstart=0

解决