SWIFT:如何在Swift中使用subscriberCellularProviderDidUpdateNotifier

时间:2016-02-15 12:46:30

标签: ios swift core-telephony

我想在Swift中使用subscriberCellularProviderDidUpdateNotifier,但我不知道它的放置方式和位置。
有任何想法吗?我已经搜索过了,但只有Objective-C样本可用。

2 个答案:

答案 0 :(得分:2)

在Objective C中你只需要使用" set"和 Swift 中属性块的名称,你需要分配它:

// Declare your class member
let networkInfo = CTTelephonyNetworkInfo();

// In viewDidLoad or in your custom method
networkInfo.subscriberCellularProviderDidUpdateNotifier = { carrier in
    // Do whatever you wanna do when a callback comes        
}

运营商的类型为CTCarrier

当然,您总是可以使用引用CTCarrier参数的$ 0:

networkInfo.subscriberCellularProviderDidUpdateNotifier = { 
 $0      
 // Do whatever you need to do with it
}

它看起来更干净。

答案 1 :(得分:-1)

我无法测试,但这是此答案的代码:Possible way to detect sim card detection in ios? 翻译成swift:

override init() {
    super.init()
    print("init");

    let info = CTTelephonyNetworkInfo()
    info.subscriberCellularProviderDidUpdateNotifier = self.cellularProviderDidUpdate
}
func cellularProviderDidUpdate(inCTCarrier: CTCarrier) {
    print("event")
}

别忘了import CoreTelephony