CoreTelephony-处于飞行模式时的carrierName



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

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#*服务时,如果飞行模式,则不显示所有信息。

@property(nonatomic, readonly, retain) NSString *carrierName;

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

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

如果为运营商配置设备,然后卸下SIM卡,此属性将保留运营商的名称

如果从未配置设备,则此属性的值为零对于承运人而言。

最新更新