我想在应用程序第一次启动时将另一种语言设置为默认语言。 iOS没有这种语言作为界面语言,所以我唯一的办法就是手动设置。我在 SO 上找到了数十种解决方案,而那些有效的解决方案只能在模拟器中运行,而不能在真实设备上运行。这是我尝试过的:

首先,设置app语​​言的方法是:

UserDefaults.standard.set(["xx-XX", "yy-YY"], forKey: "AppleLanguages")

问题是,这需要重新启动应用程序,而 我希望它在应用程序第一次启动时设置 。我也试过:
UserDefaults.standard.register(defaults: ["AppleLanguages": ["xx-XX", "yy-YY"]])

甚至调用 UserDefaults.standard.synchronize() 在大多数情况下根本不需要。

我尝试放置此代码的地方:
  • 应用程序(:didFinishLaunchingWithOptions:)
  • 应用程序初始化:|
  • 子类化 UIApplication ,创建 main.swift 并添加
    以上代码作为顶级语句

  • info.plist 中:
  • Localization native development region 设置为 xx-XX
  • Localizations的第一个元素设置为xx-XX

  • 顺便说一下,在这个时间点实现自定义本地化不是一个选择。

    最让我困惑的是,为什么这样的功能可以在模拟器中运行而不是在真实设备中运行。

    编辑:
    我什至删除了默认的英语语言,并再次添加了 English (World),这样旁边就没有 Development Language 标签了。还是没用。

    最佳答案

    在 Xcode 上,从 Start Stop Buttons 您可以按“projectName” -> Edit Scheme... -> Run -> Options 并更改应用程序语言

    ios - 在 iOS/Swift 中第一次启动应用程序之前设置默认语言-LMLPHP

    关于ios - 在 iOS/Swift 中第一次启动应用程序之前设置默认语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47605446/

    10-14 12:02
    查看更多