如何快速检查 iPhone 是否连接到互联网,快速...
谢谢...
看看 Apple 的 Reachability 类和这个示例应用程序。
您应该尝试使用您认为合适的超时时间连接到服务器。永远不要使用可达性 API,直到你确定你的连接尝试失败,即使那样,只有当你从 NSURLConnection 等收到错误时。人。表示您未连接到网络。在这种情况下,请使用 Reachability API 来确定您应该何时重试。
仅仅尝试连接可能会打开以前不可用的网络接口。
您可以使用以下代码快速检查互联网连接:
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)
}
希望这可以帮助!!