以编程方式从iPhone检索运营商名称

thi*_*ryb 44 iphone cocoa-touch core-telephony

有没有办法以编程方式知道iPhone上的手机载体?

我正在寻找iPhone连接的运营商名称.

小智 82

在iOS 4中,CoreTelephony框架是可用的,这里有一个获取运营商名称的片段:

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

链接CoreTelephony并包含在您的标题中:

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
Run Code Online (Sandbox Code Playgroud)

  • 根据Apple的文档,这总是会向您提供有关您的运营商的信息,而不是您漫游时当前连接的运营商. (12认同)

Abo*_*oud 14

只是在这里做一个注释..我在不同的SIM上测试了这个API,似乎iPhone锁定的操作符的名称是[carrer carrierName]返回的!

我在2个iphone上测试了这个,一个是锁定的,另一个没有,而对于锁定的,无论SIM提供商,它都会返回每次运行我的测试应用时锁定的操作员的名称.但请注意,MNC确实发生了变化!


Mir*_*vac 6

CTCarriercarrierName其他信息自 iOS 16 起已弃用,且无替代: https: //developer.apple.com/documentation/coretelephony/ct Carrier 。