SWReachability 1.0

SWReachability 1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年6月

saman kumara 维护。



  • saman kumara

使用 blocks 实现的 Reachability。一行代码实现。当网络状态改变时,它会进入块。

在实现此功能之前,您需要将 "SystemConfiguration" 框架添加到您的项目中。

提供了一些连接状态。

typedef NS_ENUM(NSInteger, SWNetworingReachabilityStatus) {
    SWNetworkReachabilityStatusNotReachable = 0,
    SWNetworkReachabilityStatusReachableViaWWAN = 1,
    SWNetworkReachabilityStatusReachableViaWiFi = 2,
};

获取当前状态

当调用 getCurrentNetworkStatus 方法时,它将返回当前状态。

 if ([SWReachability getCurrentNetworkStatus] == SWNetworkReachabilityStatusNotReachable) {
        statusLbl.text = @"Connection not avaialbe.";
    }else if ([SWReachability getCurrentNetworkStatus] == SWNetworkReachabilityStatusReachableViaWiFi){
        statusLbl.text = @"Wifi is uisng";
    }else if ([SWReachability getCurrentNetworkStatus] == SWNetworkReachabilityStatusReachableViaWWAN){
        statusLbl.text = @"WWAN is uisng";
    }

使用通知改变块实现

当改变通知时,SwReachability 将提供 block,所以可以少写一些通知处理代码。

[SWReachability checkCurrentStatus:^(SWNetworingReachabilityStatus currentStatus) {
        //you can get current status        

    } statusChange:^(SWNetworingReachabilityStatus changedStatus) {
        //when change status this will fire and you can identify current status

    }];

请看以下示例

[SWReachability checkCurrentStatus:^(SWNetworingReachabilityStatus currentStatus) {
        //you can get current status

        if (currentStatus == SWNetworkReachabilityStatusNotReachable) {
            notificationStatusLbl.text = @"Connection not avaialbe.";
        }else if (currentStatus == SWNetworkReachabilityStatusReachableViaWiFi){
            notificationStatusLbl.text = @"Wifi is uisng";
        }else if (currentStatus == SWNetworkReachabilityStatusReachableViaWWAN){
            notificationStatusLbl.text = @"WWAN is uisng";
        }

    } statusChange:^(SWNetworingReachabilityStatus changedStatus) {
        //when change status this will fire and you can identify current status

        if (changedStatus == SWNetworkReachabilityStatusNotReachable) {
            notificationStatusLbl.text = @"Connection not avaialbe.";
        }else if (changedStatus == SWNetworkReachabilityStatusReachableViaWiFi){
            notificationStatusLbl.text = @"Wifi is uisng";
        }else if (changedStatus == SWNetworkReachabilityStatusReachableViaWWAN){
            notificationStatusLbl.text = @"WWAN is uisng";
        }

    }];

致谢

SWReachability 由 SkyWite 所有并维护。

SWReachability 是由 saman kumara ([email protected]) 创建的

安全披露

如果您认为您已经发现 SWReachability 的安全漏洞,您应尽快通过电子邮件将其报告给 [email protected]。请不要将其发布在任何公开的问题跟踪器上。

许可证

此代码可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。