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

标签 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?我错过了什么?

最佳答案

我有一个相同的问题,如果 application language 未设置 system languagescheme 的配置问题参数将被强制。 enter image description here 在这种情况下,您将无法覆盖AppleLanguages

关于ios - 从代码更改应用程序语言在 iOS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43514174/

相关文章:

iPhone RestKit 加载 NSManagedObject 而不是 NSManagedObject+(ActiveRecord)

ios - 如何将按钮链接到操作

swift - 使用 addChild 进行不需要的重复

ios - 如何在 swift 3.0 中制作时间选择器 View ?

ios - 取消选择按钮(单选按钮)Swift 3 iOS

ios - 检索具有读取属性的文件并对其进行分类

ios - 快速展开可选值时意外发现 nil

swift - “as”测试在 Swift switch 语句中始终是 true 警告

ios - 更新数据时Swift 3 xcode 8 firebase数据库错误

ios - ARkit 中 3D 对象上的固定按钮