Je travaille sur une application qui demande aux utilisateurs le numéro de téléphone et dispose d'un sélecteur de pays, où l'utilisateur doit entrer le code du pays.Déterminer le code du pays pour iOS Région "Europe"
Mais en testant des valeurs de code pays nul, j'ai découvert que mon iPhone avec iOS 10.2.1 avait un format de région défini sur Europe.
La région Europe n'existe pas dans la liste des régions lorsque je la recherche.
Lorsque je tente d'obtenir le code actuel du pays locale
NSLocale *currentLocale = [NSLocale currentLocale];
return [currentLocale objectForKey:NSLocaleCountryCode]
Je reçois en_150
qui n'est pas utile pour déterminer le pays de l'utilisateur, au moins sur mon appareil. Le code pays retourné est , ce qui n'existe pas.
Je trouve une solution de contournement pour trouver le code de pays en utilisant CTTelephonyNetworkInfo
if(![currentLocale objectForKey:NSLocaleCountryCode]) {
CTCarrier *carrier = [[CTTelephonyNetworkInfo new] subscriberCellularProvider];
NSString *countryCode = carrier.isoCountryCode;
return [countryCode capitalizedString];
}
Mais comment il fonctionne avec ce lieu en Europe et pourquoi dois-je avoir mis comme ça?