Geri Borbás
Geri Borbás

Reputation: 16588

How to detect wheter running on 3G or Wi-Fi on iPhone?

Some lines of code? Any experience?

Upvotes: 0

Views: 4038

Answers (3)

Geri Borbás
Geri Borbás

Reputation: 16588

Since than I made a pretty simple block based Reachability wrapper that strips all the outdated C-like Reachability code, poured into a much more Cocoa form.

Usage like:

[EPPZReachability reachHost:hostNameOrIPaddress
               completition:^(EPPZReachability *reachability)
{
    if (reachability.reachableViaCellular) [self doSomeLightweightStuff];
}];

See Reachability with blocks for everyday use at eppz!blog, or grab it directly from eppz!reachability at GitHub.

It also works with IP addresses, which turned out to be a pretty rare Reachability wrapper feature.

Upvotes: 0

Jacob Relkin
Jacob Relkin

Reputation: 163228

You can use Apple's Reachability code to retrieve this information:

Example:

Reachability *reach = [Reachability reachabilityForLocalWiFi];
[reach startNotifier];

NetworkStatus stat = [reach currentReachabilityStatus];

if(stat & NotReachable) {
   //not reachable
}

if(stat & ReachableViaWiFi) {
   //reachable via wifi
}

if(stat & ReachableViaWWAN) {
   //reachable via wwan
}

Upvotes: 4

makdad
makdad

Reputation: 6450

Apple's Reachability class will give you this information.

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

Upvotes: 1

Related Questions