C# 模拟器中应用状态的测试保存
在iOS 5中测试应用程序状态的保存时,我遇到了一个问题:退出应用程序时,没有调用任何用于保存状态的重载 下面是我如何重载保存状态的方法:C# 模拟器中应用状态的测试保存,c#,ios,xamarin.ios,C#,Ios,Xamarin.ios,在iOS 5中测试应用程序状态的保存时,我遇到了一个问题:退出应用程序时,没有调用任何用于保存状态的重载 下面是我如何重载保存状态的方法: [Register("AppDelegate")] public class AppDelegate : UIApplicationDelegate { ... public override bool ShouldSaveApplicationState(UIApplication application, NSCo
[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(新选择器(“terminateWithSuccess”),null,0f代码>
- 调用
Environment.Exit(0)代码>(这将导致应用程序挂起)
- 在
中将Info.plist
设置为true,然后按下模拟器中的home(主页)按钮UIApplicationExitsOnSuspend
苹果在iOS 6中增加了状态保存功能。早期的iOS版本不会调用您的覆盖。谢谢您的回复。对不起,我忘了说我试过按home(主页)按钮。我阅读了文档,它只是没有明确提到如何“通过调用按需退出以编程方式终止应用程序”。我尝试调用
环境。退出(0)
这是否错误?什么是正确的电话?谢谢你的回复。对不起,我忘了说我试过按home(主页)按钮。我阅读了文档,它只是没有明确提到如何“通过调用按需退出以编程方式终止应用程序”。我尝试调用环境。退出(0)
这是否错误?什么是正确的选择?