シミュレータの言語はすでに日本語に変更されていますが、なぜ_[[NSLocale preferredLanguages] objectAtIndex:0]
_ 常に return _"en"
_?
優先言語も地域も「en」とは関係ありません。_"en"
_はどこから来たのですか?
_[[NSLocale preferredLanguages] objectAtIndex:
_2 _]
_を取得しようとしましたが、クラッシュすると*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)
が表示されます
シミュレーターに言語が設定されていないということですか?とても奇妙!
これは、iOS8.1 /7.1でXcode6.1にアップグレードする前には発生しませんでした。
その間、私のiPhone 5で同じことを試しましたが、コンソールは正しいことを出力しました。
なぜそんなに奇妙なのですか?誰かがそのような問題を抱えていますか?
ああ!どうしましたか....
"en"
_だけを手に入れました、日本語と英語が見つかりません!"en"
_しか見つからなかったのですか?日本語と英語はどこにありますか?これはバグです。それは私を夢中にさせていました。 Appleはすでにそれを知っています。
この回答を参照してください:
iOS8.1シミュレーターは、ドイツ語のハードウェアキーボードにもかかわらず、常にUSキーボードレイアウトを使用します
この:
iOS 8.1シミュレータのローカリゼーションが壊れています(NSLocalizedString)
(回答には、スキーマを変更する一時的な修正があります)
最高、ジジ
私のiOSシミュレーターは、突然"en"
ではなく"en-US"
の報告を開始したため、この問題はまだ発生しているようです。
で再現:
私は言語設定に入り、英語と米国が選択されました。カナダとフランス語を選択して、"fr-CA"
を取得しました。それから私はそれを元に戻し、再び"en-US"
を取得し始めました。それ以来、"en"
の問題を再現できませんでした。
したがって、[NSLocale preferredLanguages]
の値は、言語と地域のペアであると想定して渡すことはできないようです。