gpt4 book ai didi

ios - 在iOS 8.3中获取CellID,MCC,MNC,LAC,信号强度,质量和网络

转载 作者:行者123 更新时间:2023-12-01 16:33:07 27 4
gpt4 key购买 nike

如何使用ios 8.3中的专用api获取单元ID,因为以前的核心电话专用api在最新的ios sdk 8.3中不起作用。

最佳答案

您仍然可以使用它。它适用于iOS 8.3。我不知道如何获得信号强度。苹果最近改变了Core Telephony的许多功能。 :(

CTTelephonyNetworkInfo *telephonyInfo = [CTTelephonyNetworkInfo new];
NSString *carrierNetwork = telephonyInfo.currentRadioAccessTechnology;
NSLog(@"Mobile Network): %@", carrierNetwork);

CTCarrier *carrier = [telephonyInfo subscriberCellularProvider];

NSString *mobileCountryCode = [carrier mobileCountryCode];
NSLog(@"Mobile Country Code (MCC): %@", mobileCountryCode);

NSString *mobileNetworkCode = [carrier mobileNetworkCode];
NSLog(@"Mobile Network Code (MNC): %@", mobileNetworkCode);

NSString *carrierName = [carrier carrierName];
NSLog(@"Mobile Network name: %@", carrierName);

NSString *isoCountryCode = [carrier isoCountryCode];
NSLog(@"Mobile Network isoCode: %@", isoCountryCode);

编辑:我找到了解决方案如何获得信号强度。
*!请注意,以下解决方案使用 private API,因此当提交给App Store时,Apple将拒绝该解决方案。
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
NSString *dataNetworkItemView = nil;

for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}

int signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue];

NSLog(@"signal %d", signalStrength);

关于ios - 在iOS 8.3中获取CellID,MCC,MNC,LAC,信号强度,质量和网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com