Nous allons programmer un peu iOS en Objective-C pour vous expliquer comment utiliser le CoreTelephony Framework iOS.
Ce framework iOS (accessible depuis iOS 4.x et supérieur) permet entre autre d’obtenir des informations sur la carte SIM insérée dans l’iPhone. Il faut faudra déjà des notions de programmation iOS (et sur l’utilisation de XCode) pour arriver à faire fonctionner cet exemple.
Les informations qu’il est possible de lire sont multiples et nous nous intéresseront aux informations concernant l’opérateur dans cet article.
Tout d’abord, il est important d’ajouter le coreTelephony.framework à votre projet avant toute chose :
Une fois que c’est fait on peut modifier le code et insérer les headers dans la classe que vous souhaitez utiliser pour les fonctions de téléphonie et coder un peu :
/* On importe les bon headers */ #import <CoreTelephony/CTCarrier.h> #import <CoreTelephony/CTTelephonyNetworkInfo.h> /* Initialisation des données */ CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease]; CTCarrier *carrier = [networkInfo subscriberCellularProvider]; /* On accède au nom de l'opérateur de téléphonie mobileCountryCode */ NSString *carrierName = [carrier carrierName]; /* On accède au code pays */ NSString *mcc = [carrier mobileCountryCode]; /* On accède au code du Réseau */ NSString *mnc = [carrier mobileNetworkCode];
Evidemment il faudra créer les bonnes méthodes et ne pas mettre tout en vrac dans un fichier .m. Mais on suppose dans cet article que vous avez déjà de bonnes notions de programmation iOS.
Par contre, les informations qu’on lit sur cet exemple sont celles de la carte SIM, il n’est donc pas possible par cette méthode d’obtenir des informations sur le roaming ou sur un accord d’itinérance entre deux opérateurs (vous voyez donc à qui je pense).
Pour plus d’information sur ce sujet, vous pouvez consulter la documentation fournie par Apple sur le CoreTelephony Framework.