Проблемы с Adobe AIR EncryptedLocalStore - PullRequest
0 голосов
/ 13 февраля 2011

Зашифрованное локальное хранилище не работает, если на моем компьютере установлено приложение.У меня были проблемы на этом компьютере с encryptedlocalstore, поэтому я установил базовую тестовую программу.

Все работает нормально при запуске из adl, но не работает при нормальном запуске.Если я запускаю adl на установленном приложении из папки .app / Contents / Resources, приложение работает нормально, но при нормальном запуске не работает.

Я пытался удалить всю мою ~ / Library / Application Support /Папка Adobe / AIR / ELS, но безрезультатно.Я удалил и переустановил Adobe Air 2.5.1, но ELS не работает.Папка для Приложения создается внутри папки 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 Ответ

1 голос
/ 31 марта 2011

Эта проблема была решена на форумах Adobe Air здесь http://forums.adobe.com/thread/790858?tstart=0

...