50 votes

Récupération Nom de l'opérateur de l'iPhone par programmation

Est-il un moyen de connaître le porteur de cellules sur un iPhone par programmation ?

** mise à jour **

Je suis à la recherche pour le nom du transporteur qui l'iPhone est connecté.

84voto

George Zhu Points 733

Dans iOS 4, la CoreTelephony cadre est utilisable, voici un extrait de code pour obtenir le nom de l'opérateur:

CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);
[netinfo release];

Lien contre CoreTelephony et les inclure dans vos en-têtes:

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>

15voto

Abolfoooud Points 511

Juste pour faire une remarque ici.. j'ai testé cette API sur les différents SIMs et il semble que le nom de l'opérateur de l'iPhone est verrouillé est retournée avec [carrer carrierName]!!

J'ai testé cela sur 2 iphones, verrouillé et l'autre pas, et pour le verrouillage, quel que soit le fournisseur de la carte SIM, elle retourne le nom de l'opérateur, il est verrouillé à chaque fois que je lance mon appli de test. Notez cependant que le MNC ne change!

2voto

Jason Harwig Points 9925

Il n'y a pas d'API publique pour obtenir le nom du transporteur. Si vous n'avez pas besoin de publier sur l'App Store vous pouvez regarder à l'utilisation privée de l'api.

VVCarrierParameters.h dans le VisualVoiceMail paquet semble avoir un carrierServiceName méthode de classe qui pourrait être ce dont vous avez besoin. Chute de cet en-tête dans votre projet et appel d' [VVCarrierParameters carrierServiceName].

Remarque votre application sera probablement rejetée si vous faites cela.

0voto

radalin Points 308

https://developer.apple.com/iphone/prerelease/library/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/doc/uid/TP40009596-CH1-DontLinkElementID_3

Il y a une telle façon cependant, il est seulement disponible sur iOS 4 de sorte que vous ne serez pas en mesure de l'utiliser sur les versions précédentes. Et c'est probablement ce qui brise votre compatibilité descendante trop.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X