从代码更改应用程序语言在iOS中不起作用

时间:2017-04-20 08:29:18

标签: ios swift3

我尝试从iOS应用中的代码切换应用语言。我这样做

    var lang = "en"        
    print("lang 1 = \(lang)")
    print("lang 2 = \(UserDefaults.standard.array(forKey: "AppleLanguages")![0])")

    UserDefaults.standard.setValue([lang], forKey: "AppleLanguages")
    UserDefaults.standard.synchronize()

    print("lang 3 = \(UserDefaults.standard.array(forKey: "AppleLanguages")![0])")

上面的代码打印出来。

lang 1 = en
lang 2 = es
lang 3 = es

为什么'lang'没有保存到UserDefaults?我错过了什么?

1 个答案:

答案 0 :(得分:1)

我有一个相同的问题,很可能是在运行scheme的配置中的情况,如果在application language中未设置system language则将强制参数。{{3 }} 在这种情况下,您将能够覆盖AppleLanguages