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 上发生。

4

1 回答 1

0

当您在通过 Xcode 调试应用程序时更改语言时,应用程序会被系统杀死(在重新启动期间),并且调试器会将其解释为sigkill,这就是它告诉您的 - “程序收到信号 0”。

因为调试器已经看到你的应用程序被杀死,所以需要在 Xcode 中停止它,然后才能再次运行它,否则你会得到看起来像在启动时崩溃和其他诸如“管道损坏”或“无法启动调试器”之类的错误,也许它挂在另一个进程中”。

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

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

于 2011-09-15T08:47:03.047 回答