iPhone / iOS: Comment savoir quelle localization le téléphone utilise au moment de l'exécution?

J'ai du mal à localiser une application. Il doit être localisé en farsi (persan iranien). Non seulement cela, il doit utiliser le calendar solaire, lorsque fa_IR est sélectionné comme une localization.

Le operating system a un calendar persan. Ce n'est pas un problème pour moi de l'utiliser, mais j'ai besoin de savoir que la localization fa_IR a été sélectionnée. Pour append l'insulte à la blessure, je ne peux pas tester cette locale aux États-Unis, car il semble que AT & T ne l'autorise pas en tant que localization. Je dois l'envoyer en Iran, qui est un PItA royal.

J'ai le diable d'un time à find la localization à l'exécution. Il y a beaucoup de choses pour accéder aux drapeaux du package, mais je ne trouve rien pour get des informations sur l'exécution.

Je suis assez vert à la programmation iOS, donc j'ai encore besoin de déterminer quel M à RTFM. J'ai recherché les docs avec beaucoup de mots-keys, en vain.

Quelqu'un peut-il aider avec ce qui semble être une question absurdement facile?

NSLocale aura les informations sur les parameters régionaux dont vous avez besoin. Notez que les classs de fondation prennent en charge les parameters suggérés, tels que l'horloge 24 heures et les informations sur les parameters régionaux.

 NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]); 
 NSArray *localizations = [[NSBundle mainBundle] preferredLocalizations]; for (NSSsortingng *ssortingng in localizations) { NSLog(@"Localization: %@", ssortingng); } 

Le code ci-dessus devrait être utile pour find la localization actuelle.

 NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]); 

NSLocale renvoie en_US , tandis que NSBundle renvoie sv , ce qui est correct pour mon téléphone.