替换SubscriberCellularProviderDidUpdate

时间:2018-09-28 20:40:33

标签: swift core-telephony

我想检测用户何时更换SIM卡。 我尝试使用SubscriberCellularProviderDidUpdate,但是在删除并重新插入SIM卡后,永远不会调用闭包/阻止。另外,不推荐使用instance属性。有替代品吗?

1 个答案:

答案 0 :(得分:0)

subscriberCellularProviderDidUpdateNotifier在iOS 12上似乎已被serviceSubscriberCellularProvidersDidUpdateNotifier取代。

如果除iOS 12之外还需要支持iOS 11或更早版本,您可以使用以下方法:

let ct = CTTelephonyNetworkInfo()
if #available(iOS 12.0, *) {
    ct.serviceSubscriberCellularProvidersDidUpdateNotifier = { (carrier) in
        // carrier is a String
    }
} else {
    ct.subscriberCellularProviderDidUpdateNotifier = { (carrier) in
        // carrier is a CTCarrier
    }
}