我在AIR中使用SharedObject来存储IOS App中的一些数据。
当我将UIApplicationExitsOnSuspend设置为true时,共享对象工作正常,这意味着如果我从Fast App Switcher中删除它(通过双击home按钮显示Fast App Switcher),然后再次运行应用程序,SharedObject与我的数据是还在那儿。
但是如果我将UIApplicationExitsOnSuspend设置为false并从Fast App Switcher中删除应用程序然后再次运行它,那么我的SharedObject为空。
问题是我需要使用UIApplicationExitsOnSuspend false,但我还需要一直存储SharedObject,即使它在后台运行也是如此。
谢谢。
UPD:一些代码
这是项目主类的构造函数:
public static var so:SharedObject;
public function Main():void
{
…
so = SharedObject.getLocal("MyApp");
}
然后我像这样使用它
if (!Main.so.data.names) {
Main.so.data.names = [];
}
Main.so.data.names.push(someNewName);
当应用程序在后台工作时,它工作正常,所有更改都会保存。但如果我在Fast App Switcher中杀了app,然后再次运行,调试器显示Main.so.data不包含任何东西
答案 0 :(得分:0)
我在AIR for iOS上遇到了同样的问题。 使用EncryptedLocalStore而不是ShareObject似乎可以解决问题。
以下是如何使用EncryptedLocalStore保存和检索数组的链接。请注意,该链接有拼写错误 - “加密本地存储”,并将其更改为“加密本地存储”'相反 - Is it possible to store an Array into an EncryptedLocalStore item? AIR