是否可以在代码中不包含详尽的型号列表的情况下确定 iOS 设备是否包含蜂窝无线电?
我正在为应用程序添加主机可访问性检查,我希望失败消息适合设备。例如:
网络连接不可用。请加入 Wi-Fi 网络或移动到蜂窝网络接收更好的位置。
这对于 iPhone 和 iPad 3G 来说很好,但对于没有 3G 的 iPod touch 或 iPad 来说就太业余了。对于这些设备,我想删除对蜂窝服务的提及。
我不想在 Apple 发布的每个具有蜂窝无线电的 iOS 设备的代码中创建一个数组。
是否可以在代码中不包含详尽的型号列表的情况下确定 iOS 设备是否包含蜂窝无线电?
我正在为应用程序添加主机可访问性检查,我希望失败消息适合设备。例如:
网络连接不可用。请加入 Wi-Fi 网络或移动到蜂窝网络接收更好的位置。
这对于 iPhone 和 iPad 3G 来说很好,但对于没有 3G 的 iPod touch 或 iPad 来说就太业余了。对于这些设备,我想删除对蜂窝服务的提及。
我不想在 Apple 发布的每个具有蜂窝无线电的 iOS 设备的代码中创建一个数组。
您能做的最好的事情是使用 Apple 提供的可访问性示例项目。
http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
它具有三种网络状态:
typedef enum {
NotReachable = 0,
ReachableViaWiFi,
ReachableViaWWAN
} NetworkStatus;
如果ReachableViaWiFi
返回状态,请不要提及蜂窝服务。
这将是一个改进,因为即使使用蜂窝无线电,您也可能在仅 wifi 的位置。
好像没有办法。Erica Sadun 在 github 上有一个有趣的UIDevice 硬件扩展项目,但它也无法确定是否有蜂窝无线电。