您可以通过 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团队吗???