2011-02-23 105 views
3

我只是想知道如何使用Xcode(iPhone Dev SDK)找出当前用户的国家。获取用户的国家

+2

重复http://stackoverflow.com/questions/459355/whats-the-easiest-way-to-get-the-current-location-of-an-iphone – Max 2011-02-23 19:13:31

回答

12

如果你想获得用户国家,你可以做两件事情。最简单的就是从本地化设置中剔除它。

NSLocale *locale = [NSLocale currentLocale]; 
NSString *country = [locale displayNameForKey:NSLocaleIdentifier value:[locale localeIdentifier]]; 

这可能是不可靠的(例如,在国外的用户)。如果您依赖信息,则应使用CoreLocation查找用户当前的位置,然后使用反向地理标记从坐标中获取国家/地区。看看CoreLocation Framework reference。它应该帮助你。

+0

当我运行此代码时,我得到“英语(英国)”。对于我的应用程序,我正在使用一个API,并且需要查看用户是否基于美国(不管他们目前是否在国外)。字符串是否为美国用户“英语(美国)”返回。我找不到任何地方,必须100%确定! – Patrick 2012-08-11 23:37:10

+0

应该是。我相信这只是获得他们的语言设置,所以如果你看看你的iPhone设置中的语言选项,你将能够看到各种选项。唯一的问题将是住在美国并且会说外语的人。对您来说最好使用Core Location。 – 2012-08-31 14:49:32

+0

好吧欢呼!我将在未来考虑使用Core Location。我使用的API全部是英文,所以现在应该可以! – Patrick 2012-08-31 15:14:17