CTCarrier возвращает ноль на все свойства - PullRequest
0 голосов
/ 29 октября 2018

Я использую следующий код для получения mobileNetworkCode:

let ctCarrier = CTCarrier()

    func getMNC() -> String {
        if let mnc = ctCarrier.mobileNetworkCode {
            return mnc
        }
        return "nil"
    }

Использование любых свойств CTCarrier возвращает ноль и выглядит как ошибка Apple.

Есть ли решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019
let networkInfo = CTTelephonyNetworkInfo()
let carrier = networkInfo.subscriberCellularProvider
let mobileNetworkCode = carrier!.mobileNetworkCode

if mobileNetworkCode != nil {
    //Means got reception
} else {
   //No cellular data
}

Пожалуйста, попробуйте этот способ, я также тестирую, используя CTCarrier() напрямую, он всегда возвращает ноль. Этот метод работает.

0 голосов
/ 29 октября 2018

Убедитесь, что у вас есть следующее:

  1. При отладке вы используете реальное устройство.
  2. У него есть сим-карта.
  3. Устройство имеет сигнал.
  4. Не в режиме полета.

Обсуждение по mobileNetworkCode :

Объект NSString только для чтения, представляющий цифровую мобильную сеть. код для оператора сотовой связи пользователя. Введите это свойство как объект NSString, а не числовой тип, обеспечивает нули в МНК соблюдаются.

Ссылка: https://developer.apple.com/documentation/coretelephony/ctcarrier/1620324-mobilenetworkcode

...