5

アプリケーション内で言語を変更する方法を実装しようとしています。

私はそれをすべて理解したと思いますが、何らかの理由でフォルダがバンドルとして積まれていません

kh.lproj というフォルダーがあります

  NSString *path = [[NSBundle mainBundle] pathForResource:newLanguage ofType:@"lproj"];

  if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
    bundle = [NSBundle bundleWithPath:path];
    DLOG(@"Language: %@ from path %@ (%@)", newLanguage, path, bundle);
  }

私のdlogの出力は

言語: kh from path ........./F1AA1E74-A014-4331-BD1B-D05D0E54AFF3/console.app/kh.lproj (NSBundle <......./F1AA1E74-A014-4331-BD1B- D05D0E54AFF3/console.app/kh.lproj> (未ロード))

iPhone とシミュレーターの両方で (もちろんパスは異なります)。

.app フォルダーをチェックインしたところ、kh.lproj フォルダーがそこにあります。(小文字)。

なぜこれが起こっているのか誰にも分かりますか?存在しないファイルをロードしようとすると、それは無視され、ロードされません。

編集

loadAndReturnError:(NSError) を使用しているときに助けがあれば、次のメッセージが表示されます。

NSLocalizedFailureReason=バンドルの実行可能ファイルが見つかりませんでした。NSLocalizedDescription=実行可能ファイルが見つからなかったため、バンドル「kh.lproj」をロードできませんでした。NSBundlePath=......./A65E8399-6CDB- 4CAE-9074-803125E78BBA/storeconsole.app/kh.lproj

このエラー メッセージの意味

4

2 に答える 2

0

とにかく電話すると欲しいものが手に入るようです

[bundle localizedStringForKey:key value:NULL table:nil];
于 2012-10-28T14:39:19.080 に答える
0

セミコロンの欠落や不完全なコメント マーカーなど、文字列ファイルにバグがある場合も、落とし穴の可能性があります。

Xcode はファイルの構文エラーをチェックしません。

于 2020-06-24T08:15:07.307 に答える