0

AIRでSharedObjectを使用して、IOSアプリに一部のデータを保存しています。

UIApplicationExitsOnSuspendをtrueに設定すると、共有オブジェクトは正常に機能します。つまり、Fast App Switcherから削除して(ホームボタンをダブルクリックするとFast App Switcherが表示されます)、アプリを再度実行すると、データを含む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 でまったく同じ問題に遭遇しました。ShareObject の代わりに EncryptedLocalStore を使用すると、問題が解決するようです。

EncryptedLocalStore を使用して配列を保存および取得する方法に関するリンクを次に示します。リンクにタイプミスがあることに注意してください - 'EncryptedLocalStorage', 代わりに 'EncryptedLocalStore' に変更してください -配列を EncryptedLocalStore アイテムに保存することは可能ですか? 空気

于 2014-08-28T07:20:02.713 に答える