2011-06-11 121 views
1

我正在运行我的iPod touch应用程序,然后转到后台并从Settings应用程序更改设备语言,并尝试将该应用程序放在前台。当我进入后台时,我的应用程序重新启动,并且我没有着陆在离开应用程序的屏幕上。当应用程序处于后台时更改设备语言

这是因为当语言改变时,设置应用程序发送KILL信号?这是期望的行为吗?

回答

1

我不知道切换语言会导致应用程序被终止,但这并不令人震惊。这是一种非常直接的方式来获得用户的需求。不过,你的问题不是语言的变化。问题是您没有正确回应终止通知。你可以在任何时候终止,当你在后台,这是你的工作来处理它。

您的应用程序代表应该实现applicationWillTerminate:(或者您可以在任何方便的地方观察)。当你收到这些信息时,你应该保存足够的信息,以便在重新启动时恢复到原来的位置。尽可能多地,你应该让它看起来对你没有终止的用户。保存状态最简单的地方通常在NSUserDefaults,但您可以使用任何您喜欢的机制。

处理应用程序重启是将优秀iOS应用程序与“足够好”分开的事物之一。

+0

不可以,即使你没有回应applicationWillTerminate。 – Abhinav 2011-06-13 07:53:10

+0

对不起,iPhone3的习惯。你应该在'applicationDidEnterBackground:'for iOS 4中做这件事。 – 2011-06-13 15:36:24

相关问题