我想在应用程序第一次启动时将另一种语言设置为默认语言。 iOS没有这种语言作为界面语言,所以我唯一的办法就是手动设置。我在 SO 上找到了数十种解决方案,而那些有效的解决方案只能在模拟器中运行,而不能在真实设备上运行。这是我尝试过的:
首先,设置app语言的方法是:
UserDefaults.standard.set(["xx-XX", "yy-YY"], forKey: "AppleLanguages")
问题是,这需要重新启动应用程序,而 我希望它在应用程序第一次启动时设置 。我也试过:
UserDefaults.standard.register(defaults: ["AppleLanguages": ["xx-XX", "yy-YY"]])
甚至调用
UserDefaults.standard.synchronize()
在大多数情况下根本不需要。我尝试放置此代码的地方:
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 中第一次启动应用程序之前设置默认语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47605446/