小编afi*_*ana的帖子

尝试获取运营商名称时出现“--”

我正在尝试使用以下代码获取用户运营商名称:

CTTelephonyNetworkInfo* info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier* carrier = info.subscriberCellularProvider;
NSString *mobileCountryCode = carrier.mobileCountryCode;
NSString *carrierName = carrier.carrierName;
NSString *isoCountryCode = carrier.isoCountryCode;
NSString *mobileNetworkCode = carrier.mobileNetworkCode;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试记录时,结果是这样的:

2023-05-22 16:47:39.831078+0700 MotionTrade[7686:985518] carrier name = --
2023-05-22 16:47:39.831260+0700 MotionTrade[7686:985518] mobileCountryCode = 65535
2023-05-22 16:47:39.831342+0700 MotionTrade[7686:985518] mobileNetworkCode = 65535
Run Code Online (Sandbox Code Playgroud)

基本上我已经尝试了每个堆栈溢出答案,但我仍然得到相同的结果,

我在我的iPhone上调试这个,没有使用WiFi,而且我只使用物理SIM卡,而不是电子SIM卡。

谁能告诉我为什么我总是收到“--”?

在我浏览了一下之后,国家代码“65535”这可能表明 SIM 卡已被移除,或者通常目前无法拨打电话。

谁能帮我?为什么会发生这种情况以及如何获得正确的蜂窝提供商名称?

我什至尝试使用以下代码在我的新空白项目中执行此操作:

override func viewDidLoad() {
    super.viewDidLoad()

    let networkInfo = CTTelephonyNetworkInfo()
    let carrierName = networkInfo.serviceSubscriberCellularProviders
    
    dump(carrierName)
}
Run Code Online (Sandbox Code Playgroud)

但我的日志中仍然得到相同的结果:

Optional(["0000000100000001": CTCarrier (0x281275d10) {
Carrier name: [--]
Mobile Country …
Run Code Online (Sandbox Code Playgroud)

objective-c ios core-telephony

7
推荐指数
1
解决办法
1695
查看次数

标签 统计

core-telephony ×1

ios ×1

objective-c ×1