ответ

5

Вы все еще можете использовать это. Он работает на iOS 8.3. Я не знаю, как получить силу сигнала. В последнее время Apple многое изменила в 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); 

Edit: я нашел решение, как получить силу сигнала * Пожалуйста, обратите внимание, что решение ниже использует частный API и как таковые будут отвергнуты Apple, когда представлен в App Store

.!. .
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); 
+0

Из этого я могу получить только MNC и MCC, но я ищу идентификатор ячейки, LAC и силу сигнала, которая была доступна с использованием private apis befor 8.3, но теперь не работает в новом обновлении. Любое обновление для того же самого? –

+1

Я знаю, что этот пост старше, но задавался вопросом, нашел ли кто-нибудь решение этой проблемы – RockPaperScissors

+0

Nope. Существует решение, но работает только на джейлбрейк-устройствах. –

0

Get CellID, MCC, MNC, LAC, and Network in iOS 5.1

вы можете посетить ссылку выше, и он может получить ЛАК ячейку ниже КСН 8,2 , если вы хотите получить ЛАК ячейки выше ИОС 8.3, следует добавить право:

<key>com.apple.CommCenter.fine-grained</key> 
<array> 
    <string>spi</string> 
</array> 

также говорится, что ваш телефон нуждается в джейлбрейке.

На самом деле, я не могу попробовать настоящий телефон. если вы преуспели, просто поделитесь, спасибо.