Is there a way to get information about the carrier of iPhones programmatically?
Asked
Active
Viewed 9,023 times
3 Answers
20
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];

Louie
- 5,920
- 5
- 31
- 45
-
5Notice that this tells you only the original SIM carrier, not current one in case of roaming. – JOM Jan 06 '12 at 13:55
-
this is not working anymore, just returning "Carrier" for me. – Jafar Khoshtabiat Oct 17 '19 at 07:09
6
Heres the Swift version:
import CoreTelephony
let phoneInfo = CTTelephonyNetworkInfo()
let phoneCarrier = phoneInfo.subscriberCellularProvider
print(phoneCarrier?.carrierName)

CodeOverRide
- 4,431
- 43
- 36

Esqarrouth
- 38,543
- 21
- 161
- 168
0
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.

janu kansagra
- 144
- 8