首页 > 解决方案 > 为什么 serviceSubscriberCellularProviders 返回 nil?(在 iOS 12 中)

问题描述

CoreTelephony 关于 CTCarrier 的问题。我听说我应该在 iOS 12 中使用 serviceSubscriberCellularProviders 而不是subscriberCellularProvider,因为subscriberCellularProvider 将被弃用。所以我写了以下代码。

import UIKit
import CoreTelephony

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        let telephony = CTTelephonyNetworkInfo()
        if #available(iOS 12.0, *) {
            let carrier = telephony.serviceSubscriberCellularProviders
            print(carrier)
        }
        else {
            let carrier = telephony.subscriberCellularProvider
            print(carrier)
        }
        
    }

}

SubscriberCellularProvider 成功返回正确的 SIM 卡信息,但是 serviceSubscriberCellularProviders 只返回 nil 值。

你知道为什么会这样吗?请帮我

标签: swiftcore-telephony

解决方案


这是 iOS 12.0.x 中的一个错误,它已在 iOS 12.1 中修复


推荐阅读