我正在使用以下代码来获取mobileNetworkCode
:
let ctCarrier = CTCarrier()
func getMNC() -> String {
if let mnc = ctCarrier.mobileNetworkCode {
return mnc
}
return "nil"
}
使用CTCarrier的任何属性都返回nil,这似乎是Apple的错误。
有关此问题的任何解决方法?
答案 0 :(得分:0)
确保您具有以下条件:
关于 mobileNetworkCode 的讨论:
代表数字移动网络的只读NSString对象 用户的蜂窝服务提供商的代码。将此属性键入为 NSString对象而不是数字类型可确保前导 尊重跨国公司中的零。
参考:https://developer.apple.com/documentation/coretelephony/ctcarrier/1620324-mobilenetworkcode
答案 1 :(得分:0)
let networkInfo = CTTelephonyNetworkInfo()
let carrier = networkInfo.subscriberCellularProvider
let mobileNetworkCode = carrier!.mobileNetworkCode
if mobileNetworkCode != nil {
//Means got reception
} else {
//No cellular data
}
请尝试这种方式,我也直接使用CTCarrier()
测试,它始终返回nil。此方法有效。