检测运营商连接类型(3G / EDGE / GPRS)

2023-12-01

如何获取运营商网络的连接类型?

  • 我可以使用以下命令了解连接是 WIFI 还是 WWANReachability class
  • 我能够获取网络标志

    可达性标志状态:WR t------ localWiFiStatusForFlags

  • 我可以使用以下方式获取 WIFI SSIDCaptiveNetwork

支持的接口:( en0 )

en0 => {  
    BSSID = "xx:xx:xx:xx:xx:xx";  
    SSID = MyWifiNetwork;  
    SSIDDATA = <x1x1x1x1 x1x1x1x1 x1>;  
}  

但我无法区分 3G、EDGE 或 GPRS 连接。

任何想法还使用iOS私有API?

thanks.


从 iOS 7 开始,您可以使用:

CTTelephonyNetworkInfo *telephonyInfo = [CTTelephonyNetworkInfo new];
NSLog(@"Current Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology);
[NSNotificationCenter.defaultCenter addObserverForName:CTRadioAccessTechnologyDidChangeNotification 
                                                object:nil 
                                                 queue:nil 
                                            usingBlock:^(NSNotification *note) 
{
    NSLog(@"New Radio Access Technology: %@", telephonyInfo.currentRadioAccessTechnology);
}];

我还发现它可以检测慢速或快速连接:

- (BOOL)isFast:(NSString*)radioAccessTechnology {
    if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]) {
        return NO;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) {
        return NO;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMA1x]) {
        return NO;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) {
        return YES;
    } else if ([radioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
        return YES;
    }

    return YES;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测运营商连接类型(3G / EDGE / GPRS) 的相关文章

  • 即席分发失败

    我在一家大公司工作 正在开发一个适用于 iOS 5 的 iOS 应用程序 分发应用程序的唯一方式是通过临时部署 我拥有自己的服务器已经有一段时间了 由 o2switch 法国托管商 托管 当我开始开发时 我们使用它来部署应用程序以进行 Be
  • 如何在 iPhone 应用程序的 url 中传递字符串值

    NSURLRequest request NSURLRequest requestWithURL NSURL URLWithString http www krsconnect no community api html method ba
  • 核心数据:解决一个奇怪的 EXC_BAD_ACCESS 错误

    我在核心数据方面面临着一个非常奇怪的问题 我们来描述一下 定义 假设我有两个模型 ModelA and ModelB 在数据模型中ModelA有参考ModelB作为一对多关联 因此ModelB与 具有一对一关联ModelA Update 当
  • 我如何知道 UITableView 何时完成 ReloadData?

    我试图在执行完成后滚动到 UITableView 的底部 self tableView reloadData 我原本有 self tableView reloadData NSIndexPath indexPath NSIndexPath
  • 当 iPhone 设备方向朝上/朝下时,我可以判断它是横向还是纵向吗?

    我得到这个代码 如果设备处于左 右横向或上下颠倒状态 它会旋转并显示另一个视图控制器 但如果它的方向朝上或朝下 那么我如何判断它是横向模式还是纵向模式 因为我只想在它面朝上或朝下以及横向模式下旋转 void viewDidAppear BO
  • 处理 NSPropertyListSerialization 中的 CFNull 对象

    在我的应用程序中 我尝试序列化服务器响应字典并将其写入文件系统 但对于某些响应 我收到错误 属性列表格式无效 原因是服务器响应中的 CFNull 对象 现在 服务器响应将不断变化 因此我没有明确的方法来删除 CFNull 对象 下面是我的代
  • 未安装的应用程序的URL方案

    简单的问题 我正在开发一个将注册自己的 URL 方案的应用程序 我计划通过人们最喜欢的 QRCode 阅读器使用 QRCode 启动该应用程序 我的问题 如果我的应用程序尚未安装在他们的 iPhone iPad 上 会发生什么 他们会被引导
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 处理核心数据中的重复条目

    我有一个允许用户保存收藏夹的应用程序 我正在使用 Core Data 将收藏夹存储为托管对象 我已经编写了一些代码来防止存储重复项的可能性 但我想知道是否有更好的方法来做到这一点 每个收藏夹对象都有一个唯一的 ID 字段 在下面的代码中 我
  • 多点触摸检测和区分 - Cocos2d for iPhone

    我想知道如何在多点触摸视图中检测和区分触摸 我读过有关 哈希 代码的内容 但我不明白如何使用它 我想知道我的两个精灵何时被同时触摸 就像在钢琴的两个琴键上按下和弦一样 编辑 以下是我的 TouchesBegan 的示例 void ccTou
  • 使用导航控制器在 Storyboard 中呈现视图控制器 - Swift

    我目前在下面的新故事板中显示了一个 viewController var storyboard UIStoryboard UIStoryboard name AccountStoryboard bundle nil var vc Welco
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用视图控制器?

    我有一个使用 Xcode 4 0 的 基于窗口的应用程序 模板创建的 iOS 应用程序 当时运行良好 并且使用的是 iOS 4 3 SDK 这是一个简单地将按钮 标签等直接放置到窗口上的应用程序 没有视图控制器 什么都没有 但现在我已经升级
  • 获取 Swift 子目录中资源的所有 URL

    我正在尝试为 iOS 应用程序的子目录中的所有资源创建 URL 数组 我似乎无法到达正确的路径 即使我不知道名称 我也希望能够检索 URL 即我不想将文件名硬编码到代码中 Below is a screen shot of the hier
  • 如何获取 UITableView 内容视图的大小?

    我想在填充表格时获取 UITableView 内容视图的大小 关于如何执行此操作有什么建议吗 Allows you to perform layout before the drawing cycle happens layoutIfNee
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • iOS:addConstraints:应用程序崩溃

    Problem 我似乎无法在现有项目中采用自动布局 Details 我之前也遇到过与此问题相同的问题presentViewController 在 iOS 但所提供的答案都不是我的解决方案 我正在使用所有没有 xib 的故事板视图 我的 使
  • AVAudioMixerNode pan 或 AVAudioUnitSamplerstereoPan 属性无法更改 AVAudioEngine 声音输出的左/右平衡

    我有以下代码 它播放单个 MIDI 音符 但我希望能够调整平衡 平移 以便它仅从左扬声器或右扬声器或某些组合中播放 我认为更改 sampler stereoPan 或 engine mainMixerNode pan 也许可以解决问题 但它
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let
  • 桌面上的 AVAudioSession?

    在 mac 桌面上 我试图录制系统声音 以及可选的麦克风声音 但一开始我只是录制系统声音 我正在遵循本指南 https www appcoda com ios avfoundation framework tutorial https ww

随机推荐

  • null == foo 与 foo == null [重复]

    这个问题在这里已经有答案了 这可能只是一个风格问题 但我正在读一本 Java 编码书 Android 编程 作者都在变量方法之前先声明 null 这是我不熟悉的做法 例如 if null foo code here or if null f
  • 改革语法以删除移位,减少 if-then-else 中的冲突

    如何消除给定语法的 bison 的移位归约冲突 selection stmt gt if expression statement if expression statement else statement 提供修改后的语法的解决方案将受
  • 使用SetTimer API时出现“运行时错误50290”如何处理?

    我在尝试在 Excel 中制作秒表计时器时遇到了此错误 这是一个简单的测试代码 使用按钮创建一个空的 Excel 工作簿 并为其分配一个宏 Sub Button1 Click TimerID SetTimer 0 0 0 5 1000 Ad
  • onHover 事件未在 Chart.js 中触发

    我想当鼠标在图表上移动时更改光标 例如这把小提琴 这适用于 Chart jsv2 4但不适用于v2 6 v2 7任何想法 var ctx document getElementById canvas1 getContext 2d var m
  • 脚本可以在本地主机上运行,​​但不能在服务器上运行

    我遇到这个问题 代码在本地主机上运行 但当我将其上传到服务器时却不起作用 我想实现这个 宝丽莱照片吧画廊 这是我的网站的链接 十二生肖 2013 Note 您需要进入图库选项卡才能查看它 EDIT 请使用 Google Chrome 浏览器
  • 寻找正则表达式来匹配 gmail plus 地址

    我目前使用这个 gmail com 我正在捕获一组加号之前和之后的文本 它适用于大多数情况 例如 email protected 但如果我尝试匹配说就会跌倒 email protected 重复的 号似乎把它搞砸了 任何帮助将非常感激 Th
  • 将 R Parallel 与其他 R 包一起使用

    我正在使用 R 中的 LQMM 包进行非常耗时的分析 我将模型设置为从星期四开始运行 现在是星期一 并且仍在运行 我对模型本身充满信心 作为标准 MLM 进行测试 并且对我的 LQMM 代码充满信心 已经使用相同的数据集运行了其他几个非常相
  • 检测用户存在

    我想做的是检测用户是否正在积极使用运行 Windows 2000 或更高版本 的计算机 最好 我想在不使用屏幕保护程序的情况下执行此操作 背景 我们有一个客户服务部门 位于寻线组中 可以 可用 或 不可用 如果他们 有空 呼叫将被路由到他们
  • 多个命令在 xcode 11.4 反应本机中产生错误我的副本包资源为空

    以下是xcode中的错误 我还尝试过从工作区设置构建旧版本 但未能成功 多个命令生成 Users saifubaid Library Developer Xcode DerivedData antispam bjwrxskogxnnophf
  • 如何在Linux内核中递归读取目录内容?

    我想实现一个树遍历函数 打印给定目录的所有内容 在内核中 我知道如何在用户空间中执行此操作 但我的要求是在内核空间中执行此操作 为此 我正在研究 vfs readdir 函数 并且对其用法有点困惑 假设我将从其他内核模块调用我的遍历函数 这
  • 如何设置 AlertDialog 的主题

    如何将警报主题设置为标准 Android 主题之一 我想使用 Holo Dark 因为弹出窗口默认为 Holo Light 我的代码 AlertDialog Builder confirm new AlertDialog Builder t
  • 如何使用 NSCache

    有人可以举例说明如何使用NSCache缓存字符串 或者有人有一个很好的解释的链接吗 我好像找不到啊 您使用它的方式与使用它的方式相同NSMutableDictionary 不同的是 当NSCache检测到内存压力过大 即缓存了太多值 它将释
  • PyCharm 中注释的折叠

    很长一段时间我一直在寻找一种在 PyCharm 中折叠注释的方法 基本上我一直在寻找一种方法来实现相同的目标 对于代码块的注释 很容易实现这一点 region Description all your comments go here en
  • 如何使用 javascript 更改 @keyframes 值?

    我想要做的是改变 0 和 100 的最高值 keyframes取决于 javascript 中的 x 等于什么 我之前已经使用 javascript 更改了 css 但我被困在这个上了 Code var x Math floor Math
  • 如何使用 Amazon Cognito 进行未经身份验证的访问?

    我创建了联合身份 Enabled 未经身份验证的访问与复选框 创建了与此身份关联的角色并赋予它管理员访问权限 所以它应该拥有所有权限 然后我添加此代码以将文件上传到 AWS S3 它与访问 密钥一起使用 我不想公开给 UI 但它不适用于 C
  • JHipster 应用程序中延迟加载组件的 i18n

    My App是基于JHipster因此语言服务是通过以下方式提供的智语言服务 in the ng jhipster库使用了一个Jhi配置服务配置ngx translate无需我在我的中导入和配置 TranslateModuleapp mod
  • MSI 卸载期间文件到底是如何删除的?

    我想知道在卸载过程中已安装的文件 组件到底发生了什么 对于安装和升级过程 MSDN 上有可靠的文档 请参阅文件版本控制规则 and 默认文件版本控制 例如 无论如何 我在 MSDN 或 WiX 的文档中找不到卸载删除逻辑的文档 所以 我的问
  • 批量递归文件夹并填充数组

    我希望通过文件夹 子文件夹 等进行递归 使用文件夹路径动态填充数组 示例 我有一个名为 A 的文件夹 其中有 2 个子文件夹 B 和 C C 有一个子文件夹 D 所以数组将是 Folder 01 A Folder 02 A B Folder
  • 以编程方式禁用 UITextView 的水平滚动

    我正在寻找一种以编程方式禁用 UITextView 水平滚动的方法 通过 Interface Builder 很容易 但由于我以编程方式设计视图 所以我找不到方法来做到这一点 我用谷歌搜索它作为好吧 但我得到的最多的是 如何以编程方式停止水
  • 检测运营商连接类型(3G / EDGE / GPRS)

    如何获取运营商网络的连接类型 我可以使用以下命令了解连接是 WIFI 还是 WWANReachability class 我能够获取网络标志 可达性标志状态 WR t localWiFiStatusForFlags 我可以使用以下方式获取