强制改变iOS 9中的语言

时间:2016-07-07 06:14:57

标签: ios localization ios9

当用户登录时,我从服务器获取其语言代码。

然后我尝试强制设置如下语言:

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

但这种改变不会立即反映出来。

如果我重新启动应用,那么它可以正常工作

我还尝试重新加载根视图但仍然无法正常工作

我如何立即看到变化?

感谢您的时间:)

1 个答案:

答案 0 :(得分:0)

您需要在创建 UIAppdelegate 实例之前在main()函数中设置语言首选项。

但是,当您仅在用户登录时获得语言首选项时,它不会在运行时更改使用的语言。

因此,除了要求用户重新启动应用程序之外,我没有看到用户登录后立即让它工作的任何方式。 (另一个选择是强行杀死应用程序,但当然会有非常差的用户体验,并且如果审核人员发现它也会冒苹果拒绝的风险)