【问题标题】:iPhone - how to determine carrier of the device (AT&T, Verizon, etc?)iPhone - 如何确定设备的运营商(AT&T、Verizon 等?)
【发布时间】:2011-12-30 23:11:46
【问题描述】:

有没有办法以编程方式获取有关 iPhone 运营商的信息?

【问题讨论】:

    标签: iphone ios core-telephony carrier


    【解决方案1】:

    第一次导入 #import <CoreTelephony/CTTelephonyNetworkInfo.h> 以及 #import <CoreTelephony/CTCarrier.h> (确保您也安装了 CoreTelephone.framework)。

    CTTelephonyNetworkInfo *phoneInfo = [[CTTelephonyNetworkInfo alloc] init];
    CTCarrier *phoneCarrier = [phoneInfo subscriberCellularProvider];
    NSLog(@"Carrier = %@", [phoneCarrier carrierName]);
    [phoneInfo release];
    

    【讨论】:

    • 请注意,这只会告诉您原来的 SIM 运营商,如果是漫游,则不会告诉您当前的运营商。
    • 这不再起作用,只是为我返回“Carrier”。
    【解决方案2】:

    这是 Swift 版本:

    import CoreTelephony
    
    let phoneInfo = CTTelephonyNetworkInfo()
    let phoneCarrier = phoneInfo.subscriberCellularProvider
    print(phoneCarrier?.carrierName)
    

    【讨论】:

      【解决方案3】:

      在 Swift 3.0 中开发时,您只需在构建阶段将二进制文件与库链接中导入 CoreTelephony。

      // 设置网络信息并创建 CTCarrier 对象

       let networkInfo = CTTelephonyNetworkInfo()
       let carrier = networkInfo.subscriberCellularProvider
      

      // 获取运营商名称

       print(carrier?.carrierName)
      

      就是这样。

      【讨论】:

        猜你喜欢
        • 2015-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-12
        • 1970-01-01
        • 2011-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多