2011-09-15 25 views
0

我正在开发具有俄语和英语语言本地化的iphone应用程序。 对于本地化我使用Localazible.strings文件,也有一套俄语和英语图像的副本。 问题是:当我切换语言和应用程序在后台运行,然后我试图运行应用程序,它崩溃,iPhone重新启动,并开始重新启动一遍又一遍。只有关机然后开机才有用。做完之后,我可以用任何语言运行应用程序。 当应用程序崩溃调试器只说“程序接收信号0”。 我如何得到此类设备行为的原因?这些问题发生在使用iOS 4.1(越狱)的iPhone 3gs,使用iOS 4.2.1的iPad,使用iPhone 4的iOS 4.3.3以及不在iPhone 4 iOS 4.2.1上发生。iPhone在切换语言后重新启动

+1

在越狱iPhone上虚假崩溃并重新启动?嗯...可能不是由越狱引起的...... –

+0

也许你没有注意到。有3(三)我列出的设备。只有1(一)是越狱。嗯......可能还有另外一个原因。 –

回答

0

当您在通过Xcode调试应用程序时更改语言时,该应用程序被系统杀死(在重启过程中),调试器将其解释为sigkill,它告诉您 - “接收到的信号0 ”。

因为调试器已经看到你的应用程序被杀死了,所以需要在Xcode中停止它,然后才能再次运行它,另外明智的是你会看到启动时崩溃和其他类似错误,如“破管”或“无法启动调试器,也许它挂在另一个进程“。

更改语言时,您将无法测试正常的“从背景中恢复”,因为更改语言会重新启动跳板,从而导致您的应用程序被终止。

如果您手动维护UI状态(如在多任务处理之前所需要的那样),那么您可以在下次启动应用程序时恢复它并保持多任务处理的错觉。

+0

谢谢,但没关系,我不需要多任务的错觉。我不知道该怎么做才能防止设备崩溃和重启。 –

+0

您是否尝试过在没有Xcode和调试器的情况下运行应用程序,并查看在未连接到调试器的情况下更改语言时是否发生相同的行为? – Jasarien

+0

当然也有同样的问题。只是不知道从哪里开始修复:( –