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
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);