如何将iOS模拟器永久设置为非英语语言

22
我正在开发一款主要使用德语的应用程序。因此,我希望将iOS模拟器默认设置为德语。如果我将MacOS的语言设置为德语并启动iOS模拟器,则模拟器的菜单语言是德语,但是模拟的iOS系统语言却是英语。我知道可以在模拟的iOS系统中更改语言。但这不是我想要的,因为在重置模拟器后,我还需要再次设置语言,而且更改模拟语言似乎在iOS 4.2中存在严重错误(通常导致MacOS崩溃)。
是否有一种方法(可能通过命令行)可以永久更改模拟器的默认语言?
非常感谢。

1
就我个人而言,在模拟器中切换语言时,我从未遇到过任何错误或崩溃问题(最近还进行了一系列本地化测试)。希望你已经向苹果报告了这些崩溃问题,因为它们可能并不常见。 - David Dunham
@David:你使用的是哪个系统区域格式,美国还是欧洲的?这可能与一个错误有关:http://openradar.appspot.com/radar?id=1392405 - brainray
我认为我只是在德国格式方面做了一点点工作(这当然与德语不同)。那个错误让我想起了一些真正古老的 Mac 错误,我不得不绕过瑞士德语格式。 - David Dunham
2个回答

46

如在iOS7 TechTalks视频 "隐藏的iOS开发者宝藏"中所示,您可以在构建方案中设置两个属性,以便模拟器切换到您选择的语言和地区:

Build Schemes in Xcode 5

那么,如果您需要每次测试不同的语言并快速切换它们以便运行,您也可以轻松地添加多个运行方案。
编辑:从Xcode 6开始,您可以通过运行方案选项直接编辑此信息。只需选择“应用程序语言”和/或“应用程序区域”。

Xcode 6 Simulator Language and Region


截至2014年1月,这是最佳答案。 - brainray
8
提供可复制粘贴的选项: -AppleLanguages (lan) -AppleLocale lan_LAN(说明:这两个选项是用于设置苹果设备语言和区域的参数。lan需要替换为具体的语言代码,如en表示英语,zh表示中文等;LAN需要替换为具体的国家或地区代码,如CN表示中国,US表示美国等。) - ivanzoid
4
在同一个“编辑方案”窗口的“选项”下,现在可以从您的应用程序支持的语言下拉列表中选择“应用程序语言”,以及系统地区。 - Louis St-Amour
1
@denbec 你好,这似乎不会影响应用内购买的本地化价格。我刚刚更改了方案中的应用程序语言和区域,但在模拟器中测试SKProduct价格仍然是美元。有什么建议吗? - sweepez
@sweepez 我相信货币取决于iTunes沙盒用户。我不确定模拟器中是否可以登录账户。但这取决于用户账户,而不是语言设置。 - denbec
打开Scheme:产品 - Scheme - 编辑Scheme - 如果你的应用程序中使用了 Locale.current,那么你必须在Scheme设置中更改“应用程序区域”。实际上,设置“应用程序语言”对我来说并没有改变任何东西,甚至模拟器主屏幕上的应用程序名称仍然是英文。 - Neph

3

如果语言环境设置丢失,您可以使用ios-sim-locale创建一个脚本来设置模拟器选项。请参阅ios-sim-locale。这样,您只需要在启动模拟器之前执行该脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接