2016-07-07 5 views
1

ユーザーがログインすると、サーバーから言語コードが取得されています。iOS 9で言語を変更するように強制する

let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setObject(["de"], forKey: "AppleLanguages") 
defaults.synchronize() 

しかし、この変更はすぐに反映されません。

その後、私は次のように、この言語を設定するには、強制しよう。

私はアプリを再起動する場合、それは大丈夫

を働く私はまた、ルートビューをリロードしてみましたが、それでも、私はすぐに変更を参照するにはどうすればよい

を動作していませんか?お時間を

感謝:)

+0

これは役に立ちましたか? http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language/20257557#20257557 –

答えて

0

あなたはUIAppdelegateのインスタンスが作成される前に、main()関数で言語プリファレンスを設定する必要があります。

しかし、ユーザーがログインしたときにのみ言語設定を取得するので、実行時に使用言語が変更されることはありません。

だから私は、ユーザがアプリケーションを再起動するように頼む以外に、ユーザがログインした直後にそれを動作させることはできません。 (もう1つの選択肢は、強制的にアプリケーションを殺すことだが、当然のことながら非常にユーザエクスペリエンスが悪く、査読者に拒否される可能性もある)。

関連する問題