如何确定iOS设备是否有蜂窝无线电?

时间:2010-06-25 20:21:21

标签: iphone reachability ios

是否可以在代码中不包含详尽的模型列表来确定iOS设备是否包含蜂窝无线电?

我正在努力为应用添加主机可访问性检查,我希望失败消息适合该设备。例如:

  

网络连接不可用。请加入Wi-Fi网络或移至电话接收效果更佳的位置。

对于iPhone和iPad 3G来说这很好,但对于没有3G的iPod touch或iPad来说这是业余爱好者。对于那些设备,我想删除提到的移动电话服务。

我不想在Apple发布的每台具有蜂窝无线电的iOS设备的代码中创建一个数组。

2 个答案:

答案 0 :(得分:1)

似乎没有办法。 Erica Sadun在github上有一个有趣的UIDevice-hardware extension项目,但它无法确定是否有蜂窝无线电。

答案 1 :(得分:1)

您可以做的最好的事情是使用Apple提供的示例项目来实现可达性。

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

它有三种状态的网络状态:

typedef enum {
    NotReachable = 0,
    ReachableViaWiFi,
    ReachableViaWWAN
} NetworkStatus;

如果返回ReachableViaWiFi状态,请不要提及移动服务。

这将是一项改进,因为即使使用手机广播,您也可能只能在无线网络中使用。