Questions tagged «reachability»

30
如何在iOS或macOS上检查活动的Internet连接?
我想检查一下我是否在使用Cocoa Touch库的iOS上或在使用Cocoa库的macOS 上建立了Internet连接。 我想出了一种方法来使用NSURL。我这样做的方式似乎有点不可靠(因为即使Google可能有一天会倒闭,依赖第三方也似乎很糟糕),而且我可以检查是否其他一些网站做出了回应(如果Google没有回应),确实看起来很浪费,而且对我的应用程序来说也没有不必要的开销。 - (BOOL) connectedToInternet { NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]]; return ( URLString != NULL ) ? YES : NO; } 是我做的不好(更不用说stringWithContentsOfURL在iOS 3.0和macOS 10.4中已弃用),如果是的话,有什么更好的方法来做到这一点?

18
使用Swift检查互联网连接
当我尝试在iPhone上检查互联网连接时,出现了很多错误。谁能帮我解决这个问题? 代码: import Foundation import SystemConfiguration public class Reachability { class func isConnectedToNetwork() -> Bool { var zeroAddress = sockaddr_in() zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress)) zeroAddress.sin_family = sa_family_t(AF_INET) let defaultRouteReachability = withUnsafePointer(&zeroAddress) { SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)) } var flags: SCNetworkReachabilityFlags = 0 if SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags) == 0 { return false } let isReachable …
251 ios  swift  xcode  reachability 

16
在iOS上检测Internet连接的最简单方法?
我知道这个问题似乎是许多其他问题的重复,但是,我觉得这里没有简单地解释这个问题。来自Android和BlackBerry背景,HTTPUrlConnection如果没有可用的连接,立即发出请求失败。这似乎完全是理智的行为,我很惊讶地发现NSURLConnection iOS中没有模仿它。 我知道Apple(以及其他扩展了Apple的苹果)提供了一个Reachability类来帮助确定网络状态。我很高兴首先看到这一点,并完全希望看到类似bool isNetworkAvailable(),但是令我惊讶的是,我发现了一个复杂的系统,需要通知注册和回调,以及一些看似不必要的细节。肯定有更好的办法。 我的应用程序已经可以正常处理连接失败,包括没有连接。通知用户失败,应用程序继续运行。 因此,我的要求很简单:可以在所有HTTP请求之前调用单个同步函数,以确定是否应该打扰实际发送请求。理想情况下,它不需要设置,只返回一个布尔值。 在iOS上真的不可能吗?

9
iOS检测3G或WiFi
我不确定是否可行,但是我有这种情况。 我在UIWebView中显示了一个网站,该网站在UISegmentedController中设置了链接。他们的网站可以检测您是否在wifi或3g网络上。 现在,分段控制器指向2个不同的页面:1-iPhone友好的登录屏幕2-登录后的主页。 现在这是一个问题: 我可以对我的应用程序进行编程以检测它是连接到WIFI还是3G(我知道你可以做到),然后根据答案转到第1段或第2段 有点像这样: if (iPhone device is on 3g) { Go to Segment 1; } else { Go to Segment 0; }

6
如何在Swift中使用SCNetworkReachability
我正在尝试将此代码段转换为Swift。由于某些困难,我正在努力下车。 - (BOOL) connectedToNetwork { // Create zero addy struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.sin_len = sizeof(zeroAddress); zeroAddress.sin_family = AF_INET; // Recover reachability flags SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); SCNetworkReachabilityFlags flags; BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); CFRelease(defaultRouteReachability); if (!didRetrieveFlags) { return NO; } BOOL isReachable = flags & …
99 ios  c  struct  swift  reachability 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.