Is there a way to get information about the carrier of iPhones programmatically?
iPhone - how to determine carrier of the device (AT&T, Verizon, etc?)
Asked Answered
1st Import #import <CoreTelephony/CTTelephonyNetworkInfo.h>
as well as #import <CoreTelephony/CTCarrier.h>
(make sure you have the CoreTelephone.framework installed too).
CTTelephonyNetworkInfo *phoneInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *phoneCarrier = [phoneInfo subscriberCellularProvider];
NSLog(@"Carrier = %@", [phoneCarrier carrierName]);
[phoneInfo release];
Notice that this tells you only the original SIM carrier, not current one in case of roaming. –
Intercourse
this is not working anymore, just returning "Carrier" for me. –
Litt
Heres the Swift version:
import CoreTelephony
let phoneInfo = CTTelephonyNetworkInfo()
let phoneCarrier = phoneInfo.subscriberCellularProvider
print(phoneCarrier?.carrierName)
While developing in Swift 3.0, You just need to import CoreTelephony in you link binary with libraries in Build phases.
// Setup the Network Info and create a CTCarrier object
let networkInfo = CTTelephonyNetworkInfo()
let carrier = networkInfo.subscriberCellularProvider
// Get carrier name
print(carrier?.carrierName)
That's it.
© 2022 - 2024 — McMap. All rights reserved.