语言环境在 iOS 模拟器中返回错误的货币符号

Posted

技术标签:

【中文标题】语言环境在 iOS 模拟器中返回错误的货币符号【英文标题】:Locale returns the wrong currency symbol in iOS simulator 【发布时间】:2013-09-28 09:42:52 【问题描述】:

我在检索我的语言环境货币符号时遇到问题。

NSString *currencySymbol = [[NSLocale currentLocale]
                                   objectForKey:NSLocaleCurrencySymbol];

我期待的是£,但我仍然得到$

在我的系统设置中,区域已经设置为United Kingdom

请问我错过了什么?

更新:我刚刚意识到,如果我在 iPhone 上部署应用程序,符号会正确显示。只有模拟器仍然显示美元符号而不是英镑。

【问题讨论】:

【参考方案1】:

好的,我找到了答案。我期待模拟器检索我的 Mac 的语言环境,即英国。但是模拟器完全隔离在自己的沙箱中。

因此您需要将simulated iPhone 上的设置更改为英国。然后您必须在模拟 iPhone 本身中终止应用程序进程并重新启动应用程序。令人惊讶的是,模拟器在重新启动后会保留新的 iPhone 设置。

现在可以了。我希望这可以帮助遇到类似问题的其他人。

【讨论】:

我不需要重启应用/设备

以上是关于语言环境在 iOS 模拟器中返回错误的货币符号的主要内容,如果未能解决你的问题,请参考以下文章

用户当前语言环境的货币符号

如何在不使用语言环境模块的情况下获取国际货币符号?

Magento 2 如何根据语言环境自定义货币符号和格式

在 Java 中的外国语言环境中格式化货币

同一模拟器上的两个不同应用程序返回的不同语言环境

Paypal android 集成:不支持某些语言环境货币