【发布时间】:2017-12-02 06:56:32
【问题描述】:
我想在应用第一次启动时将另一种语言设置为默认语言。 iOS 没有这种语言作为界面语言,所以我唯一的方法就是手动设置。我在 SO 上找到了数十种解决方案,而那些有效的解决方案只能在模拟器中工作,而不是在真实设备上工作。这是我尝试过的:
首先,设置应用语言的方式是:
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标签。还是不行。
【问题讨论】:
标签: ios swift localization internationalization