しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

iPhoneシミュレータの言語を指定して立ち上げる方法(アプリの国際化対応時のtips)

アプリの国際化をする時に使っているtipsです。
国際化しているアプリは色々な言語でデバッグする必要がありますが、シミュレータの言語設定を毎回変更するのは非常にめんどくさいです。
そういう時はXcodeで起動時の言語指定してシミュレータを立ち上げると楽です。

シミュレータの言語を指定する

下のようにArguments Passed On Launch-AppleLanguages (ja)と言語を指定すればその言語で立ち上がってくれます。

f:id:llcc:20150801162732p:plain

各言語用のSchemeを作る

下のように各言語用Schemeを作っておくと楽です。
追加は下画面のNew Schemeからできます。

f:id:llcc:20150801162943p:plain

効いてくれない設定もある

[[NSLocale currentLocale] localeIdentifier]AppleLanguagesの設定変更が効きませんでした。
この設定は端末の言語設定を返します。
[NSLocale preferredLanguages].firstObjectNSLocalizedStringには設定が反映されました。

中国語のAppleLanguages

中国語は-AppleLanguages (zh-Hans)という指定が必要でした。
最初-AppleLanguages (ch)を試したのですがこちらではうまくいきませんでした。
中国語は難しいものと簡単なものがあるようなので、その辺りが影響しているのではないかと思いました。