2

Localizable.strings ファイルが何らかの理由で破損しており、復元する方法がわかりません。

プレーン テキスト ファイルとして開くと、ここではコピーできない奇妙な文字で始まります。

ファイルをそのままにしておくと、アプリがビルドされます。変更を加えると、値が正しく解釈されないか、コンパイル時にエラーが発生します。

Localizable.strings: Conversion of string failed. The string is empty.
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1

これはエンコーディングの問題だと思いますが、どのように発生したのか (おそらく SVN が原因でしょうか?)、解決方法もわかりません。どんなヒントでも大歓迎です。

4

7 に答える 7

6

あなたのファイルと非常によく似た同じファイルに問題があります。私にとって何が起こるかというと、Xcode が正しいファイル形式を認識していないということです。プロジェクトを再配置するときにこれを取得することが多く、このファイルを削除して Xcode プロジェクトに再度追加します。ファイルを再度追加すると、エンコーディングが Western Roman のようなものに設定され、ASCII 以外をレンダリングできないように見えます。

問題を解決するために私がすることは次のとおりです。

  • Xcode で、Groups&Files パネルの Localizable.stings ファイルを選択します。

  • そのファイルで Get Info を実行します。

  • 情報パネルで、[全般] タブを選択します。

  • そのタブでファイル エンコーディングに移動し、その値を変更します。

最後のステップは、正しいエンコーディングを推測する必要があるため、トリックが存在する場所です。ほとんどのヨーロッパ言語では、「Unicode (UTF-8)」が機能することがわかりました。そして、アジア言語の場合、「Unicode (UTF-16/32)」が試してみる価値があることがわかりました。

于 2010-10-25T21:55:34.590 に答える
3

セミコロンを忘れたため、そのエラーが発生しました。それを理解するのにしばらく時間がかかりました。本当にあいまいなコンパイラ エラーのように見えますが、修正は簡単でした。

于 2012-02-03T21:58:12.757 に答える
2

UTF-8 の問題を除いて、構文の問題がある場合に備えて、コンテンツを確認する必要がある場合があります。

次の正規表現を使用して、テキストを 1 行ずつ検証します。一致しない行がある場合は、問題があるはずです。

"(.+?)"="(.+?)";

于 2011-09-10T11:50:02.003 に答える
2

File-Get Info で、UTF-16 が選択されていることを確認します。エンコーディングとして none または UTF-8 に設定されている場合は、変更する必要があります。文字間にスペースがある場合は、ファイルを UTF-16 として「再解釈」することを選択します。ファイルに奇妙な文字が含まれている場合は、それらを削除する必要があります。

于 2010-11-13T16:05:13.503 に答える
1

plutilコマンド ライン ツールを使用できます。オプションなしまたはオプションありの-lint場合、引数として指定されたファイルの構文をチェックします。エラーがどこにあるかをより正確に教えてくれます。

于 2014-01-29T11:16:42.040 に答える
0

これは、引用符が欠落している場合や、ファイルに問題がある場合に発生します。ほとんどの場合、私の言語ファイルは別のチームメンバーによって作成されているため、彼は引用などを忘れがちです。通常、XCodeはその行にエラーを表示しますが、表示されず、「破損したデータ」エラーをスローする場合もあります。

すべての文字列が引用符で正しく閉じられているかどうかを再確認してください

于 2011-11-24T01:42:25.190 に答える