iOS 5 でアプリケーションの状態の保存をテストする際に問題があります。アプリを終了するときに、状態を保存するためのオーバーロードが呼び出されません。
状態を保存するためのメソッドをオーバーロードする方法は次のとおりです。
[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate
{
...
public override bool ShouldSaveApplicationState(UIApplication application, NSCoder coder)
{
Data.Save(coder);
return true;
}
public override void WillEncodeRestorableState(UIApplication application, NSCoder coder)
{
Data.Save(coder);
}
そして、ここに私がアプリを終了するために使用したメソッドがあります.
- ホームボタンを押します
- 呼び出し
UIApplication.SharedApplication.PerformSelector(new Selector("terminateWithSuccess"), null, 0f);
- 呼び出し
Environment.Exit(0);
ます (これにより、アプリケーションがハングします) UIApplicationExitsOnSuspend
true に設定しInfo.plist
、シミュレーターでホーム ボタンを押します。
だから私の質問は: 状態を保存するメソッドが呼び出されないのはなぜですか?