问题
as explained here -> Retrieving Carrier Name from iPhone Programmatically
i'm trying to get my carrier's name, i'm using this code
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);
[netinfo release];
but i receive a warning on [carrier carrierName]
: Instance method '-carrierName' not found
i've added and the framework coretelephony to my project but when i execute my app it crashes!
thanks to all!
回答1:
Did you explicitly import CTCarrier?
#import <CoreTelephony/CTCarrier.h>
回答2:
I have same problem too,and try to log by device:
NSLog(@"carrierName = %@",carrier.carrierName);
NSLog(@"mobileCountryCode = %@",carrier.mobileCountryCode);
NSLog(@"mobileNetworkCode = %@",carrier.mobileNetworkCode);
NSLog(@"isoCountryCode = %@",carrier.isoCountryCode);
NSLog(@"allowVOIP = %d",carrier.allowsVOIP);
result:
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
the object carrierName is "....." in run stack,actually it should be "台湾大哥大"
it seem like string encoding problem cause i can't get it? I have no idea...
you can try the other carrier SIM card.
回答3:
Try
NSLog(@"Carrier Name: %@", carrier.carrierName);
instead.
来源:https://stackoverflow.com/questions/8138662/ios-i-cant-get-my-carrier-name