1

我正在寻找一种方法来检测 iOS 设备是否具有 GPS 单元,我遇到了这个问题。我发现最后一个答案很有趣:

CTTelephonyNetworkInfo* netInfo = [[CTTelephonyNetworkInfo alloc] init];
if(netInfo) {
    CTCarrier* carrier = [netInfo subscriberCellularProvider];
    if([[carrier carrierName] length] <=0) {
        //NO operator=>NO 3G and no real GPS  
    }
}

我正在寻找一些确认作为这种技术的有效性/它是否完全准确。我没有足够的设备来自己测试它。

4

1 回答 1

4

在进行了一些挖掘之后,我发现了 Apple 的这篇文章,作为脚注,它解释说:

  • 没有蜂窝网络连接的 iOS 设备仅将 Wi-Fi 用于定位服务(如果 Wi-Fi 网络可用)。

  • GPS 仅在 iPhone 和 iPad Wi-Fi + 3G 型号上可用。

因此,检测蜂窝连接似乎确定 iOS 设备是否具有 GPS 单元的可靠方法。没有蜂窝连接,没有 GPS。

请注意,iOS 通过蓝牙和底座连接器支持外部 GPS 装置。上述方法将判断设备是否具有内部 GPS,但不能判断 LocationManager 是否能够提供 GPS 驱动的位置更新。

于 2012-10-15T01:19:28.197 回答