ios - 连续检查网络连接是否可用

标签 ios ios7 reachability

我在我的项目中实现了 reach-ability,在执行任何网络连接任务时检查连接在某个特定时间是否可达。但是我想要的是不断检查网络是否可以访问并显示通知但是我不知道如何实现它所以请帮助

最佳答案

使用此代码使用可达性检查设备中的网络连接是否可用

@interface appDelegate : UIResponder <UIApplicationDelegate>
{
    Reachability *internetReachable;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 ........

 internetReachable = [Reachability reachabilityForInternetConnection];
    [internetReachable startNotifier];
 [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(checkNetworkStatus:)
                                                 name:kReachabilityChangedNotification object:nil];
............

}

- (void)checkNetworkStatus:(NSNotification *)notice {
    // called after network status changes

    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
    switch (internetStatus)
    {
        case NotReachable:
        {
            NSLog(@"The internet is down.");
            break;
        }
        case ReachableViaWiFi:
        {
             NSLog(@"The internet is Connected.");
            break;
        }
        case ReachableViaWWAN:
        {
            NSLog(@"The internet is working via WWAN!");
            break;
        }
    }
}

//#import "Reachability.m"

static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
{
#pragma unused (target, flags)
    NSCAssert(info != NULL, @"info was NULL in ReachabilityCallback");
    NSCAssert([(__bridge NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");

    Reachability* noteObject = (__bridge Reachability *)info;
    // Post a notification to notify the client that the network reachability changed.
    [[NSNotificationCenter defaultCenter] postNotificationName: kReachabilityChangedNotification object: noteObject];
}

it's Solve your problem.

关于ios - 连续检查网络连接是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22687806/

相关文章:

ios - WCSession didReceive 文件不可移动 "No such file or directory"

ios - 关闭 Presentation ViewController

ios - 如何在 iOS 7 的 UITableViewCell 左侧获取复选标记,就像在“设置”中一样?

iphone - 在后台运行时接收可达性通知?

ios - Xcode 问题添加操作

iOS( swift ): UICollectionView for a given UICollectionViewCell

ios - 带有应用程序图标效果的启动画面 IOS7

objective-c - Auto Layout "Add New Constraints"在 Interface Builder 中不交互

objective-c - 在 iPhone 模拟器上测试互联网连接

当 WiFi 处于事件状态时,iOS 可达性报告没有 WiFi