3

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

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

网络连接不可用。请加入 Wi-Fi 网络或移动到蜂窝网络接收更好的位置。

这对于 iPhone 和 iPad 3G 来说很好,但对于没有 3G 的 iPod touch 或 iPad 来说就太业余了。对于这些设备,我想删除对蜂窝服务的提及。

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

4

2 回答 2

1

您能做的最好的事情是使用 Apple 提供的可访问性示例项目。

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

它具有三种网络状态:

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

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

这将是一个改进,因为即使使用蜂窝无线电,您也可能在仅 wifi 的位置。

于 2011-03-11T21:00:26.730 回答
1

好像没有办法。Erica Sadun 在 github 上有一个有趣的UIDevice 硬件扩展项目,但它也无法确定是否有蜂窝无线电。

于 2010-06-25T23:07:45.890 回答