Как проверить, включена ли опция Wi-Fi на iPhone или нет (но, возможно, iPhone не подключен к одной из сетей Wi-Fi).
Как проверить, включена ли опция wifi
Ответ 1
Для этого вам нужно импортировать классы достижимости в свой проект.
После этого: -
#import "Reachability.h"
В вашем представлении DidLoad пишите: -
- (void)viewDidLoad {
Reachability *internetReach = [[Reachability reachabilityForInternetConnection] retain];
[internetReach startNotifer];
Reachability *wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
[wifiReach startNotifer];
NetworkStatus netStatus1 = [internetReach currentReachabilityStatus];
NetworkStatus netStatus2 = [wifiReach currentReachabilityStatus];
if(netStatus1 == NotReachable && netStatus2 == NotReachable)
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"This feature requires an internet connection." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];
}
else
{//wifi connection available;
}
}
Ответ 2
Нашел отличную строку кода для этого. Добавьте класс Reachability в свой проект, а затем вы можете сделать это:
BOOL isConnectedProperly = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == ReachableViaWiFi);
Ответ 3
First import Reachability files into your project.
-(void)loginButtonTouched
{
bool success = false;
const char *host_name = [@"www.google.com"
cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName
(NULL, host_name);
SCNetworkReachabilityFlags flags;
success = SCNetworkReachabilityGetFlags(reachability, &flags);
bool isAvailable = success && (flags & kSCNetworkFlagsReachable) &&
!(flags & kSCNetworkFlagsConnectionRequired);
if (isAvailable)
{
NSLog(@"Host is reachable: %d", flags);
// Perform Action if Wifi is reachable and Internet Connectivity is present
}
else
{
NSLog(@"Host is unreachable");
// Perform Action if Wifi is reachable and Internet Connectivity is not present
}
}
Когда вызывается метод loginButtonTouched
, мы проверяем, что www.google.com доступен или нет.
SCNetworkReachabilityFlags
возвращает флаги, которые помогают нам понять статус подключения к Интернету.
Если переменная isAvailable
возвращает "true", то Host is
Досягаемость означает, что Wi-Fi доступен, и есть возможность подключения к Интернету.