Han*_*kim 5 iphone objective-c cellular-network carrier swift
我正在尝试使用subscriberCellularProvider 制作列表载体。但是我遇到了一个问题,即“ 'subscriberCellularProvider' 在 iOS 12.0 中已被弃用:替换为 serviceSubscriberCellularProviders ”
我正在使用 XCode 11.4.1 和 iOS 13。有人可以帮我解决这个问题吗?
小智 6
'subscriberCellularProvider' 已弃用:首先在 iOS 12.0 中弃用 将 'subscriberCellularProvider' 替换为 'serviceSubscriberCellularProviders'
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
NSDictionary<NSString *, CTCarrier *> *providers= [networkInfo serviceSubscriberCellularProviders];
CTCarrier *carrier = providers.allValues.firstObject;
NSString* isoCountryCode = carrier.isoCountryCode;
NSString* mobileNetworkCode = carrier.mobileNetworkCode;
NSString* mobileCountryCode = carrier.mobileCountryCode;
NSString* carrierName = carrier.carrierName;
Run Code Online (Sandbox Code Playgroud)
警告告诉你应该使用它CTTelephonyNetworkInfo().serviceSubscriberCellularProviders,它返回一个可选的类型字典[String : CTCarrier]?。可能已添加以支持具有多个 SIM 卡的设备(例如,带有 SIM 卡 + eSIM 卡的 iPhone XR)
我不知道要与字典一起使用哪个键,在我的情况下(iPhone 8)我只有一个带键的对象,0000000100000001所以我得到了载体:
CTTelephonyNetworkInfo().serviceSubscriberCellularProviders?["0000000100000001"]
你可以试试:
CTTelephonyNetworkInfo().serviceSubscriberCellularProviders?.first?.value
但显然不能保证您在应用程序的不同执行之间会获得相同的信息。
我找不到任何关于它的进一步文档
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |