deux étapes sont impliquées. D'abord détecter quel type de réseau êtes-vous. deuxième est ce que la bande passante. Il y a deux fonctions ci-dessous pour effectuer chaque tâche
Cette fonction permet d'identifier le réseau sur lequel vous vous trouvez.
enum ReachabilityType: CustomStringConvertible {
case wwan
case wiFi
var description: String {
switch self {
case .wwan: return "WWAN"
case .wiFi: return "WiFi"
}
}
}
Cette fonction est d'obtenir la vitesse de la bande passante.
func bandWidthCheck() {
let sample = URL(string: "http:exampleURL")
let request = URLRequest(url: sample!)
let session = URLSession.shared
let startTime = Date()
let task = session.dataTask(with: request) { (data, resp, error) in
guard error == nil && data != nil else{
print("connection error or data is nill")
return
}
guard resp != nil else{
print("response is nill")
return
}
let size = CGFloat((resp?.expectedContentLength)!)/1000000.0
print(size)
let time = CGFloat(Date().timeIntervalSince(startTime))
print("elapsed: \(time)")
print("Speed: \(size/time) Mb/sec")
}
task.resume()
}