2

如何快速检查 iPhone 是否连接到互联网,快速...

谢谢...

4

3 回答 3

5

看看 Apple 的 Reachability 类和这个示例应用程序

于 2011-05-25T18:41:14.227 回答
2

您应该尝试使用您认为合适的超时时间连接到服务器。永远不要使用可达性 API,直到你确定你的连接尝试失败,即使那样,只有当你从 NSURLConnection 等收到错误时。人。表示您未连接到网络。在这种情况下,请使用 Reachability API 来确定您应该何时重试。

仅仅尝试连接可能会打开以前不可用的网络接口。

于 2011-05-25T19:23:55.600 回答
1

您可以使用以下代码快速检查互联网连接:

import SystemConfiguration

class Reachability: NSObject {

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()
    if !SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) {
        return false
    }
    let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0
    let needsConnection = (flags.rawValue & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
    return (isReachable && !needsConnection)
}

希望这可以帮助!!

于 2015-10-31T03:24:32.420 回答