2011-11-15 12 views
5

como se explica aquí ->Retrieving Carrier Name from iPhone ProgrammaticallyIOS no puedo obtener mi nombre portadora

que estoy tratando de obtener el nombre de mi carrera, estoy usando el código

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

pero recibirán una advertencia en [carrier carrierName]: Método de instancia '-carrierName' no encontrado

He añadido y el framework coretelephony a mi proyecto, pero cuando ejecuto mi aplicación ¡se cuelga!

¡gracias a todos!

Respuesta

13

¿Ha importado CTCarrier explícitamente?

#import <CoreTelephony/CTCarrier.h> 
+2

sólo yo estaba importando ... -.- '¡gracias! – Janky

+0

obtengo el operador como CTCarrier (0x174059200) { \t Nombre del operador: [Operador] – Balu

+0

Haga una nueva pregunta. Ésta tiene que ver con un error de compilación. – Eric

0

Trate

NSLog(@"Carrier Name: %@", carrier.carrierName); 

lugar.

+0

dice " 'CARRIERNAME' poperty no se puede encontrar en la clase de objeto hacia adelante 'CTCarrier *' – Janky

+1

que iOS es que se compila para, por cierto? 3.0 o 4.0 o? –

+0

4.0 y 5.0 tanto – Janky

1

Tengo mismo problema también, y intento iniciar sesión por el dispositivo:

NSLog(@"carrierName = %@",carrier.carrierName); 
NSLog(@"mobileCountryCode = %@",carrier.mobileCountryCode); 
NSLog(@"mobileNetworkCode = %@",carrier.mobileNetworkCode); 
NSLog(@"isoCountryCode = %@",carrier.isoCountryCode); 
NSLog(@"allowVOIP = %d",carrier.allowsVOIP); 

resultado:

2012-05-29 11: 48: 31.466 carrierTest [357: 707] mobileCountryCode = 466

2012-05-29 11: 48: 31.469 carrierTest [357: 707] mobileNetworkCode = 97

2012-05-29 11: 48: 31.470 carrierTest [357: 707] isoCountryCode = tw

2012-05-29 11: 48: 31.472 carrierTest [357: 707] allowVOIP = 1

el objeto CARRIERNAME es" .... . "en la pila de ejecución, en realidad debería ser" 台湾 大哥大 "

parece un problema de codificación de cadenas porque no puedo obtenerlo? No tengo ni idea ...

puede probar la otra tarjeta SIM del operador.

Cuestiones relacionadas