なぜファイルがなく、デバイス上で、iPhoneシミュレータに局在表示されていますか?
-
16-09-2019 - |
質問
私は、私は当惑しているiPhoneのローカライズの問題を抱えています。私は私のアプリのローカライズと英語を持っていただけでなく、簡素化され、伝統的な中国の罰金働いていました。私は、ローカライズされた2つのファイル、のLocalizable.stringsとsounds.plistを持っています。両方のファイル内の文字列は、デバイスとエミュレータで正常に登場します。
さて、昨日、私はスペイン語、イタリア語、ドイツ語追加しています。私はエミュレータでテストすると、すべてが正常に表示されます。私はデバイスに展開するときしかし、文字列が正しく表示のLocalizable.stringsに含まれているが、sounds.plistに含まれる文字列は常に英語で表示されます。でも、中国の文字列が正しく表示されなくなっています。
私は戻ってsounds.plistファイルに翻訳されたテキストをコピーし、構築し、さらにローカリゼーションを削除してやり直す、lprojフォルダを削除、ファイルをニューキングます。
掃除しようとしました私はXcodeでブレークポイントを設定し、それがこのファイルに対して、それはLOCフォルダを検出していないように思えます。 sounds.plistから文字列をロードするコードがあります:
+ (NSDictionary*) getSounds
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
return dict;
}
私は、ファイル名はすべて小文字で、sounds.plistであることを確認しました。この時点で、私は途方に暮れてよ。誰もがこのようなものを経験していますか?誰もが解決する方法の提案を持っていますか?
ありがとうございます。
の UPDATE:
のIシミュレータ上の次の行、ならびにデバイスの結果を比較しましたNSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];
シミュレータ上で、パスが正しくの /ユーザー/スティーブ・/.../ de.lproj / sounds.plist のように報告されます。 デバイスでは、パスは/の VAR /モバイル/.../ sounds.plist のように報告されます。 はそのde.lprojがパスにないことに注意してください。のそれはテキストがローカライズされ表示されない理由を説明ルートからsounds.plistをロードしていますので。コードは、ローカライズされたフォルダ内のファイルへのパスを取得しない理由を今私の質問はありますか?
解決 2
問題は、デバイス上で何かめちゃくちゃしました。 Iは、オーガナイザを使用してデバイスからアプリケーションをアンインストールし、その後、XCodeを介して再インストール。すべては今うまく働いてます。
他のヒント
Xcodeでsounds.plistファイルに次のチェックはありますか?あなたは、デバッグまたはリリースモードでいますか?