2つのステップがあります。最初に、どのタイプのネットワークがあなたのものであるかを検出します。 秒は帯域幅です。以下の2つの機能を使用して各タスクを実行します。
この機能は、使用しているネットワークを識別するための機能です。
enum ReachabilityType: CustomStringConvertible {
case wwan
case wiFi
var description: String {
switch self {
case .wwan: return "WWAN"
case .wiFi: return "WiFi"
}
}
}
この関数は、帯域幅の速度を取得することです。
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()
}