Locale在iOS模拟器中返回错误的货币符号

时间:2013-09-23 13:13:59

标签: ios ios6 ios6.1

我在检索区域设置货币符号时遇到问题。

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

我期待£,而我仍然得到$

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

我错过了什么?

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

1 个答案:

答案 0 :(得分:3)

好吧,我找到了答案。我期待模拟器检索我的Mac的区域,这是英国。然而,模拟器完全隔离在自己的沙箱中。

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

现在它有效。我希望这可以帮助其他有类似问题的人。