如何检查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}
此方法不会等待更改的网络状态以执行操作。它只是在您要求时测试状态。
- 4 回答
- 0 关注
- 682 浏览
添加回答
举报
0/150
提交
取消