ロシア語と英語にローカライズされた 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 では発生しません。
1 に答える
0
Xcode を使用してアプリをデバッグしているときに言語を変更すると、アプリはシステムによって (再起動中に) 強制終了され、デバッガーはそれを として解釈しますsigkill
。これは、「プログラムがシグナル 0 を受信しました」というメッセージです。
デバッガーはアプリが強制終了されたことを確認したため、再度実行する前に Xcode 内からアプリを停止する必要があります。そうしないと、起動時にクラッシュしたように見えたり、「壊れたパイプ」や「デバッガーを起動できません」などのエラーが発生したりします。 、別のプロセスでハングしている可能性があります。」
言語を変更すると、踏み台が再起動され、アプリが強制終了されるため、言語を変更するときに通常の「バックグラウンドからの再開」をテストすることはできません。
UI の状態を手動で維持すると (マルチタスクの前に要求されていたように)、アプリの次回の起動時にそれを復元し、マルチタスクの錯覚を維持できます。
于 2011-09-15T08:47:03.047 に答える