如何快速检查iPhone是否已连接到互联网,快速...
...谢谢
答案 0 :(得分:5)
查看Apple的Reachability类和this example app。
答案 1 :(得分:2)
您应该尝试使用您认为适当的超时连接到服务器。在您确定连接尝试失败之前,切勿使用可访问性API,即使只是在您从NSURLConnection等处收到错误时也是如此。人。是一个暗示你没有连接到网络的人。在这种情况下,请使用Reachability API确定何时应该重试。
仅仅尝试连接可能会带来以前无法使用的网络接口。
答案 2 :(得分:1)
您可以使用以下代码检查swift中的互联网连接:
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)
}
希望这会有所帮助!!