为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查iOS或macOS上的活动Internet连接?

如何检查iOS或macOS上的活动Internet连接?

iOS
缥缈止盈 2019-05-25 16:53:37
如何检查iOS或macOS上的活动Internet连接?我想查看我是否在iOS上使用Cocoa Touch库或使用Cocoa库在macOS 上建立了Internet连接。我想出了一个方法,使用一个NSURL。我这样做的方式似乎有点不可靠(因为即使谷歌有一天会失败并依赖第三方看起来很糟糕),虽然如果谷歌没有回复,我可以查看其他网站的回复,但是在我的应用程序中看起来似乎很浪费并且不必要的开销- (BOOL) connectedToInternet{     NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];     return ( URLString != NULL ) ? YES : NO;}我做得不好,(更不用说stringWithContentsOfURL在iOS 3.0和macOS 10.4中被弃用)如果是这样,有什么更好的方法来实现这一目标?
查看完整描述

4 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

我喜欢简单易懂。我这样做的方式是:

//Class.h#import "Reachability.h"#import <SystemConfiguration/SystemConfiguration.h>- (BOOL)connected;//Class.m- (BOOL)connected{
    Reachability *reachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus networkStatus = [reachability currentReachabilityStatus];
    return networkStatus != NotReachable;}

然后,每当我想看看我是否有连接时,我都会使用它:

if (![self connected]) {
    // Not connected} else {
    // Connected. Do some Internet stuff}

此方法不会等待更改的网络状态以执行操作。它只是在您要求时测试状态。


查看完整回答
反对 回复 2019-05-25
  • 4 回答
  • 0 关注
  • 682 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信