0

我在 AIR 中使用 SharedObject 在 IOS App 中存储一些数据。

当我将 UIApplicationExitsOnSuspend 设置为 true 时,共享对象工作正常,这意味着如果我从快速应用程序切换器中删除它(通过双击主页按钮出现快速应用程序切换器),然后再次运行应用程序,带有我的数据的 SharedObject 仍然存在。

但是如果我将 UIApplicationExitsOnSuspend 设置为 false 并从 Fast App Switcher 中删除应用程序,然后再次运行它,我的 SharedObject 是空的。

问题是我需要使用 UIApplicationExitsOnSuspend false,但我还需要一直存储 SharedObject,即使它在后台运行也不行。

谢谢你。


UPD:一些代码

这是项目主类的构造函数:

public static var so:SharedObject;
public function Main():void
{
…<br> so = SharedObject.getLocal("MyApp");
}

然后我像这样使用它

if (!Main.so.data.names) {
Main.so.data.names = [];
}
Main.so.data.names.push(someNewName);

当应用程序在后台运行时,它运行良好,所有更改都会保存。但是如果我在 Fast App Switcher 中杀死应用程序,然后再次运行,调试器会显示 Main.so.data 不包含任何内容

4

1 回答 1

0

我在 AIR for iOS 上遇到了完全相同的问题。使用 EncryptedLocalStore 而不是 ShareObject 似乎可以解决问题。

这是有关如何使用 EncryptedLocalStore 保存和检索数组的链接。请注意链接有一个错字 - “EncryptedLocalStorage”,改为“EncryptedLocalStore” -是否可以将数组存储到 EncryptedLocalStore 项目中?空气

于 2014-08-28T07:20:02.713 回答