【发布时间】:2015-04-30 05:39:12
【问题描述】:
我在 SO 上找不到这个问题的简单解决方案。
我需要对我的 URL 进行简单的检查逻辑并返回 YES - 如果可用或 NO - 如果不可用。
我发现了什么:
-(BOOL)connectedToNetwork {
NSURL* url = [[NSURL alloc] initWithString:@"http://google.com/"];
NSData* data = [NSData dataWithContentsOfURL:url];
if (data != nil)
return YES;
return NO;
}
创立this 但我需要更正确的答案。
UPD
我在 Apple 找到了SimplePing。
UPD1
在SO 找到答案,谢谢!
UPD2
需要更好的解决方案SimplePingHelper SimplePing:
- (void)tapPing {
[SimplePingHelper ping:@"www.google.com"
target:self sel:@selector(pingResult:)];
}
- (void)pingResult:(NSNumber*)success {
if (success.boolValue) {
[self log:@"SUCCESS"];
} else {
[self log:@"FAILURE"];
}
}
【问题讨论】:
-
最佳评论“如果您只需要知道是否可以获取数据,HTTP 支持称为无内容的标头和特殊的 HTTP 方法只是为此...通过使用此方法,您不仅可以阻止该线程但浪费网络带宽和电池。不好。-@Michael Voznesensky"
-
-(BOOL)connectedToNetwork { NSURL* url = [[NSURL alloc] initWithString:@"google.com/"]; NSData* data = [NSData dataWithContentsOfURL:url]; if (data != nil) return YES; return NO; } 这是正确答案,请先检查。
-
@AshokLondhe 是的,它是正确的,但有欠缺,请注意这些家伙,它的下载网址。
-
“如果您尝试以这种方式检查视频链接是否可用,您的用户会杀了您)– FreeNickname”,但简单的解决方案是最好的:)
标签: ios objective-c