【问题标题】:Can you determine what country your user is in from an iOS app?您能否通过 iOS 应用确定您的用户所在的国家/地区?
【发布时间】:2015-12-01 02:28:40
【问题描述】:
在要求用户启用位置服务之前,我正在尝试确定是自动使用英制单位还是公制单位。我知道你无法获得准确的数据,但我真正需要的只是美国与否。你能确定它是从哪个商店下载的或使用 IP 地址或类似的吗?
【问题讨论】:
标签:
ios
location
units-of-measurement
【解决方案1】:
您可以使用设备的语言环境来实现此目的...
Obj-C
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
斯威夫特
let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
国家/地区代码的格式为 US(美国)、FR(法国)等...
请注意,区域设置基于用户的设备设置,不一定是设备的当前物理位置。
【解决方案2】:
您可能正在寻找 NSLocale:
let theLocale = NSLocale.autoupdatingCurrentLocale()
print(theLocale.objectForKey(NSLocaleMeasurementSystem))
print(theLocale.objectForKey(NSLocaleUsesMetricSystem))
查看 NSLocale 类参考以获得更多选项。
【解决方案3】:
斯威夫特 3
NSLocale.current
NSLocale.Key.countryCode
是的,又烦人的改名了,你没有更重要的事情要参加 Swift 团队吗???