在移动设备上测量[以kbps为单位]互联网速度(ios)

时间:2016-10-18 12:36:39

标签: ios objective-c networking reachability

我需要确定手机是否连接到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是否提供任何库以加快速度?

1 个答案:

答案 0 :(得分:0)

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

    transfer_speed = bytes_transferred / time_required_for_transfer

    你可以获得下载速度。

    1. 使用了解网络类型(2G,3G,4G等),您可以为该网络类型提供一些特定的速度。但主要的问题是你没有得到准确的速度。