应用程序在后台时更改设备语言

时间:2011-06-11 20:40:20

标签: iphone objective-c ios cocoa-touch nslocalizedstring

我正在运行我的iPod touch应用程序,然后进入后台并从“设置”应用程序更改设备语言,并尝试将该应用程序置于前台。我的应用程序重新启动,当我进入后台时,我没有登陆我离开应用程序的屏幕。

这是因为语言更改时设置应用程序发送了KILL信号吗?这是理想的行为吗?

1 个答案:

答案 0 :(得分:1)

我不知道切换语言会导致应用被终止,但这并不令人震惊。这是获得用户想要的非常直接的方式。但问题不在于语言的改变。问题是您没有正确回复终止通知。当你在后台时,你可以随时被终止,你的工作就是处理它。

您的申请代表应该实施applicationWillTerminate:(或者您可以在方便的地方观察UIApplicationWillTerminateNotification)。当您收到此信息时,您应该保存足够的信息,以便让自己回到重新启动时的状态。您应该尽可能地向用户表明您没有终止。保存状态最简单的地方通常是NSUserDefaults,但您可以使用任何您喜欢的机制。

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