如何在我的应用程序中调出Wi-Fi附加身份验证Safari屏幕?

时间:2012-02-03 10:43:57

标签: iphone ios network-programming reachability

我正在开发一款iPad应用,需要经常连接到公开托管的网络服务器。我有一个需要身份验证的Wi-Fi网络,并在登录30分钟后超时。

我正在使用Reachability类,但我无法在应用中获得我想要的网络感知。只要用户连接/断开Wi-Fi网络,Reachability类就会小心,但是如果身份验证超时,Reachability类会给我错误的结果。

Reachability *internetReach=[Reachability reachabilityWithHostName:@"www.google.com"];

if ([internetReach currentReachabilityStatus] == NotReachable) {
    [self alertMessage:@"Wi-Fi connection not available"];
}

当Wi-Fi超时时,我没有收到预期的提醒信息。我需要的是我的应用程序应该认识到Wi-Fi已经超时,它应该为用户自动显示Safari Wi-Fi身份验证表(就像在App Store,YouTube等中发生的那样)。

1 个答案:

答案 0 :(得分:1)

我认为你错过了一些代码。首先,您必须启动通知程序,然后您需要存储Reachability引用,例如作为财产。然后,您需要实现通知方法。更改后,您的代码可能如下所示:

-(void)viewWillAppear:(BOOL)animated {
    Reachability *internetReach=[Reachability reachabilityWithHostName:@"www.google.com"];
    [internetReach startNotifier];

    self.internetReachable = internetReach;
}

-(void)checkNetworkStatus:(NSNotification*)notice;
{
    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];

    if ([internetReachable currentReachabilityStatus] == NotReachable) {
        [self alertMessage:@"Wi-Fi connection not available"];
    }
}