您能否通过iOS应用程序确定用户所在的国家/地区?

您能否通过iOS应用程序确定用户所在的国家/地区?,ios,location,units-of-measurement,Ios,Location,Units Of Measurement,我试图在请求用户启用定位服务之前,确定是否自动使用英制或公制单位。我知道你们不能得到精确的数据,但我真正需要的是美国还是美国。你能确定它是从哪个商店下载的,或者使用IP地址或类似的东西吗?你可以使用设备的区域设置来实现这一点 Obj-C NSLocale *locale = [NSLocale currentLocale]; NSString *countryCode = [locale objectForKey:NSLocaleCountryCode]; Swift let locale =

我试图在请求用户启用定位服务之前,确定是否自动使用英制或公制单位。我知道你们不能得到精确的数据,但我真正需要的是美国还是美国。你能确定它是从哪个商店下载的,或者使用IP地址或类似的东西吗?

你可以使用设备的区域设置来实现这一点

Obj-C

NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
Swift

let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
国家代码的格式为美国(美国)、法国(法国)等


请注意,区域设置基于用户的设备设置,而不一定是设备的当前物理位置。

您可以使用设备的区域设置来实现这一点

Obj-C

NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
Swift

let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
国家代码的格式为美国(美国)、法国(法国)等


请注意,区域设置基于用户的设备设置,不一定是设备的当前物理位置。

您可能正在查找NSLocale:

    let theLocale = NSLocale.autoupdatingCurrentLocale()
    print(theLocale.objectForKey(NSLocaleMeasurementSystem))
    print(theLocale.objectForKey(NSLocaleUsesMetricSystem))

有关更多选项,请参阅NSLocale类参考。

您可能正在查找NSLocale:

    let theLocale = NSLocale.autoupdatingCurrentLocale()
    print(theLocale.objectForKey(NSLocaleMeasurementSystem))
    print(theLocale.objectForKey(NSLocaleUsesMetricSystem))

查看NSLocale类参考以获取更多选项。

Swift 3

NSLocale.current
NSLocale.Key.countryCode

是的,令人恼火的重新命名,你没有更重要的东西参加Swift团队吗?

Swift 3

NSLocale.current
NSLocale.Key.countryCode

是的,令人恼火的重新命名,你没有更重要的东西参加Swift团队吗?

使用内置的质量/距离/能量等格式化程序之一。。(在许多其他人中)这样做。它将使用用户选择的设置自动格式化值/字符串。请参阅
NSFormatter
文档以选择合适的格式化程序:使用一个内置的格式化程序处理质量/距离/能量等。。(在许多其他人中)这样做。它将使用用户选择的设置自动格式化值/字符串。请参阅
NSFormatter
文档以选择适当的格式化程序: