如何知道我的iPhone / iPad是连接到2G还是3G?

我试图检查通过2G(GPRS,EDGE)或3G(UMTS,HSDPA)连接设备。

我只从这里find了Reachability示例类(Apple Dev Example)

这个例子只检查它的Wifi或WWAN。 我想用它来决定我下载小数据还是大文件。 由于GRPS和UMTS的区别很大,

是否有可能区分2G和3G?

这在iOS7中是完全可能的。 请检查这个答案

希望这可以帮助

既然你不能以官方的方式得到这个信息,那么截取屏幕截图并为状态栏networking连接图标做一些parsing器/image processing怎么样。 丑,但会工作。 而且会很有趣:)

我认为最好的select是“重新思考”你的过程:

  • 没有官方API来确定用户是2G还是3G

  • 3G在技术上比2G更快,但在实践中有很多情况下3G非常慢(覆盖不好,stream量太大等)

我是一个沉重的移动互联网用户,它可以发生我有一个比3G更好的2G。 考虑到3G在良好条件下运行速度很快,但它并不是真正用于支持大量数据(在运营商和设备的电池端)。

这就是为什么你应该决定下载基于WiFi /非WiFi的小文件或大文件。

不过,对于“小文件”,不要把它“太小”,大多数在WWAN上使用你的应用程序的人可能会有正确的覆盖率。

(根据我在法国和比利时的相当不错的观众应用程序的经验)