11

I need to detect the EDGE network and bad network in the iPhone.

1) How to detect the bad network ?

2) Is it possible to detect EDGE network separetly ?

3) How can I get the strength of the network ?

Please give some answer about these questions. Thanks in advance.

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Mani
  • 1,310
  • 1
  • 20
  • 40

1 Answers1

26

On iOS7, you can!

http://www.objc.io/issue-5/iOS7-hidden-gems-and-workarounds.html

CTTelephonyNetworkInfo *telephonyInfo = [CTTelephonyNetworkInfo new];
NSLog(@"Current Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology);
[NSNotificationCenter.defaultCenter addObserverForName:CTRadioAccessTechnologyDidChangeNotification 
                                                object:nil 
                                                 queue:nil 
                                            usingBlock:^(NSNotification *note) 
{
    NSLog(@"New Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology);
}];
Léo Natan
  • 56,823
  • 9
  • 150
  • 195
  • 2
    This is great news, I've just checked the documentation and is does not mention this method. Luckily it is in the header file. You answer id the one and only correct answer. I will delete my answer as soon as yours gets accepted. – rckoenes Nov 15 '13 at 11:32
  • 1
    @Leo Natan, Thanks a lot for your help. I will check with my device. – Mani Nov 15 '13 at 11:42
  • @leonatanto , it seems like telephonyInfo.currentRadioAccessTechnology is nil when sending app to background. Do you know how to solve this? – Chrizzor Feb 19 '15 at 16:10
  • @Leo. I have posted my question http://stackoverflow.com/q/33075759/1635315. Can you please tell me how to test EDGE/GPRS network on device. – Kirti Nikam Oct 12 '15 at 10:09
  • @Chrizzor same problem to me. Do you know the solution now? Thanks. – MattZ Nov 25 '15 at 07:46