sale pasar otro descargar datos cuando como apple ios objective-c iphone application-settings appsettings

ios - pasar - Encuentra el país actual desde el dispositivo iPhone



ios 12 iphone 7 (9)

Tengo que obtener el país actual en la configuración de iPhone. ¿Alguien puede decirme cómo obtener el país actual en la aplicación iPhone?

Tengo que usar el país actual para analizar el feed RSS en el que necesito pasar el país actual.

Por favor, ayúdame a encontrar el país.

Gracias por adelantado.


El último código de trabajo de Swift 3.0 es

if let countryCode = (Locale.current as NSLocale).object(forKey: .countryCode) as? String { print(countryCode) }


Para Swift 4.0,

Puedes simplemente usar

let countryCode = Locale.current.regionCode

print(countryCode)


Para dispositivos con tarjeta SIM, puede usar esto:

CTTelephonyNetworkInfo * network_Info = [CTTelephonyNetworkInfo new]; CTCarrier * carrier = network_Info.subscriberCellularProvider; NSString * countryCode = [carrier.isoCountryCode uppercaseString];


Para encontrar el país del idioma elegido por el usuario:

NSLocale *currentLocale = [NSLocale currentLocale]; // get the current locale. NSString *countryCode = [currentLocale objectForKey:NSLocaleCountryCode]; // get country code, e.g. ES (Spain), FR (France), etc.

En Swift:

let currentLocale = NSLocale.currentLocale() let countryCode = currentLocale.objectForKey(NSLocaleCountryCode) as? String

Si desea encontrar el código de país de la zona horaria actual, consulte la respuesta de @ chings228 .

Si desea encontrar el código de país de la ubicación física del dispositivo, necesitará CoreLocation con geocodificación inversa. Vea esta pregunta para más detalles: ¿Cómo puedo obtener la ubicación actual del usuario en iOS?


Si está realizando pruebas y desea utilizar un idioma diferente de su sistema, es más fácil cambiar las opciones de Application Language Application Region y Application Region su esquema en lugar de cambiar el idioma y la región en su dispositivo o simulador.

Vaya a Product -> Scheme -> Edit Scheme... -> Run -> Options y elija el Application Language la Application Language y la Application Region que desea probar.

De la documentación de iOS: probar tu aplicación internacionalizada


Solución Swift 3.0

if let countryCode = (Locale.current as NSLocale).object(forKey: .countryCode) as? String { print(countryCode) }


NSLocale *countryLocale = [NSLocale currentLocale]; NSString *countryCode = [countryLocale objectForKey:NSLocaleCountryCode]; NSString *country = [countryLocale displayNameForKey:NSLocaleCountryCode value:countryCode]; NSLog(@"Country Code:%@ Name:%@", countryCode, country); //Country Code:IN Name:India

Enlace de origen .


NSLocale *locale = [NSLocale currentLocale]; NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; NSString *country = [locale displayNameForKey: NSLocaleCountryCode value: countryCode];


NSTimeZone *gmt = [NSTimeZone localTimeZone]; NSLog(@"timezone gmt %@",gmt.abbreviation);