【问题标题】:CoreTelephony - carrierName when in Airplane ModeCoreTelephony - 在飞行模式下的运营商名称
【发布时间】:2019-04-02 11:39:49
【问题描述】:

我有以下代码来获取我的服务提供商的运营商名称:

let ctTelePhony = CTTelephonyNetworkInfo()

func cellPhoneServices() -> String {
    let serviceProvider = ctTelePhony.subscriberCellularProvider
    if let carrierName = serviceProvider?.carrierName {
        globalCarrierName = carrierName
        return carrierName}
    else {
        globalCarrierName = "Nil"
        return "Nil"}
}

根据文档,subscriberCellularProvider 已被弃用并替换为 serviceSubscriberCellularProviders ,但是在使用该服务时,它返回 nil。

主要问题是:当我使用上面的代码时,我得到了承运人名称,但是当我切换到飞行模式时,我仍然得到我的承运人名称。

运营商信息是否存储在手机本地?使用*3001#12345#*服务时,飞行模式下不显示所有信息。

【问题讨论】:

    标签: ios swift core-telephony


    【解决方案1】:
    @property(nonatomic, readonly, retain) NSString *carrierName;
    

    如果我们为运营商配置设备,将设备置​​于飞行模式,即使 SIM 卡被移除,设备仍会返回运营商。运营商信息可能会安全地保存在设备内的某个地方。

    此字符串由运营商提供并格式化以供展示 给用户。如果用户正在漫游,该值不会改变;它 始终代表用户拥有帐户的提供商。

    如果您为运营商配置设备,然后取出 SIM 卡,此属性会保留运营商的名称。

    如果从未配置过设备,则此属性的值为 nil 承运人。

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 2012-12-04
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      相关资源
      最近更新 更多