J'essaie de vérifier l'état de la connexion Internet via la classe Reachability.swift qui a été écrite dans swift 2.0. Voici le code de la classe:Vérificateur de connexion réseau via la classe d'accessibilité swift 2.0
import UIKit
import Foundation
import SystemConfiguration
public class Reachability: NSObject {
class func isConnectedToNetwork() -> Bool {
var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(&zeroAddress) {
SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, UnsafePointer($0))
}
var flags: SCNetworkReachabilityFlags = SCNetworkReachabilityFlags(rawValue: 0)
if SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) == false {
return false
}
let isReachable = flags == .Reachable
let needsConnection = flags == .ConnectionRequired
return (isReachable && !needsConnection)
}
}
Ma question est la suivante. Quand je suis connecté au réseau cellulaire, cette classe ne peut pas le reconnaître, ce qui signifie que la méthode isConnectedToNetwork() renvoie false sur mon iPhone 5, pas sur simulateur. Quelle pourrait être la situation là-bas? S'il vous plait aide sv serait apprécié, thanx ...
Pour une solution de travail, jetez un oeil à https://github.com/ashleymills/reachability.swift –
Merci, je l'ai vérifié avant et c'est un travail incroyable, mais pour l'utiliser j'avais besoin de changer mes données modal. –
Merci encore! :) J'ai réussi à ajouter une méthode de classe afin de l'adapter à ma classe modale ... –