在我的计算机上安装应用程序后,加密本地存储无法运行。我在这台带有encryptedlocalstore的电脑上遇到了问题,所以我设置了一个基本的测试程序。
从adl运行时工作正常,但在正常运行时不起作用。如果我从.app / Contents / Resources文件夹中运行已安装的应用程序上的adl,应用程序工作正常,但是当正常运行时它会失败。
我已经尝试删除我的整个〜/ Library / Application Support / Adobe / 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"/>