OGeek|极客世界-中国程序员成长平台

标题: ios - 在移动设备(ios)上测量 [以 kbps 为单位] 互联网速度 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:52
标题: ios - 在移动设备(ios)上测量 [以 kbps 为单位] 互联网速度

我需要确定手机是否连接到我可以使用的wifi

    if (status == ReachableViaWiFi) {
        return @"Wifi";
    } else if (status == ReachableViaWWAN)
    {
    //connection type
    CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];

    if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]) {
        return @"2G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) {
        return @"2G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMA1x]) {
        return @"2G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) {
        return @"3G";
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
        return @"4G";
    }
    }

但是,当手机使用移动数据时,我想获得准确的速度 - 例如 250kbps。我发现一些博客有人建议下载文件并记录下载所花费的时间,从而计算速度。我不想使用这种方法。

Apple 是否提供任何库来获得速度?



Best Answer-推荐答案


  1. 如果你知道确切的下载速度,那么你需要使用博客人所说的方法,即下载一个文件并记录下载所用的时间,从而计算速度。没有任何具体的框架。使用

transfer_speed = bytes_transferred / time_required_for_transfer

您可以获得下载速度。

  1. 通过了解网络类型(2G、3G、4G 等),您可以为该网络类型提供特定的速度。但主要问题是您无法获得准确的速度。

关于ios - 在移动设备(ios)上测量 [以 kbps 为单位] 互联网速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40108461/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4