您可以通过 iOS 应用程序确定您的用户所在的国家/地区吗?
Can you determine what country your user is in from an iOS app?
在要求用户启用定位服务之前,我正在尝试确定是自动使用英制单位还是公制单位。我知道你无法获得精确的数据,但我真正需要的是美国与否。你能确定它是从哪个商店下载的或使用 IP 地址或类似的东西吗?
您可以使用设备的区域设置来实现此...
Obj-C
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
Swift
let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
国家/地区代码的格式为 US(美国)、FR(法国)等...
请注意,区域设置基于用户的设备设置,不一定是设备的当前物理位置。
您可能正在寻找 NSLocale:
let theLocale = NSLocale.autoupdatingCurrentLocale()
print(theLocale.objectForKey(NSLocaleMeasurementSystem))
print(theLocale.objectForKey(NSLocaleUsesMetricSystem))
查看 NSLocale class 参考以获得更多选项。
Swift 3
NSLocale.current
NSLocale.Key.countryCode
是的,又烦人地改名了,你不是有更重要的事情要参加Swift团队吗???
在要求用户启用定位服务之前,我正在尝试确定是自动使用英制单位还是公制单位。我知道你无法获得精确的数据,但我真正需要的是美国与否。你能确定它是从哪个商店下载的或使用 IP 地址或类似的东西吗?
您可以使用设备的区域设置来实现此...
Obj-C
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
Swift
let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
国家/地区代码的格式为 US(美国)、FR(法国)等...
请注意,区域设置基于用户的设备设置,不一定是设备的当前物理位置。
您可能正在寻找 NSLocale:
let theLocale = NSLocale.autoupdatingCurrentLocale()
print(theLocale.objectForKey(NSLocaleMeasurementSystem))
print(theLocale.objectForKey(NSLocaleUsesMetricSystem))
查看 NSLocale class 参考以获得更多选项。
Swift 3
NSLocale.current
NSLocale.Key.countryCode
是的,又烦人地改名了,你不是有更重要的事情要参加Swift团队吗???