当用户登录时,我从服务器获取其语言代码。
然后我尝试强制设置如下语言:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(["de"], forKey: "AppleLanguages")
defaults.synchronize()
但这种改变不会立即反映出来。
如果我重新启动应用,那么它可以正常工作
我还尝试重新加载根视图但仍然无法正常工作
我如何立即看到变化?
感谢您的时间:)
答案 0 :(得分:0)
您需要在创建 UIAppdelegate 实例之前在main()函数中设置语言首选项。
但是,当您仅在用户登录时获得语言首选项时,它不会在运行时更改使用的语言。
因此,除了要求用户重新启动应用程序之外,我没有看到用户登录后立即让它工作的任何方式。 (另一个选择是强行杀死应用程序,但当然会有非常差的用户体验,并且如果审核人员发现它也会冒苹果拒绝的风险)