2012-10-04 26 views
1

我正在尋找一種方法來檢測iOS設備是否具有GPS單元,並且我遇到了this question。我發現最後一個答案很有趣:使用CoreTelephony在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

做一些挖後,我發現this article from Apple其中,作爲註腳,解釋說:

  • iOS設備沒有蜂窩連接只使用的Wi-Fi定位服務(如果採用Wi-Fi網絡可用)。

  • GPS僅適用於iPhone和iPad的Wi​​-Fi + 3G機型。

因此看來,檢測蜂窩連接一種可靠的方式來確定是否和iOS設備具有GPS單元。沒有蜂窩連接,沒有GPS。

請注意,iOS通過藍牙和基座連接器支持外部GPS單元。以上方法將告訴設備是否具有內部GPS,但不知道LocationManager是否能夠提供GPS驅動的位置更新。

+0

這是如何檢測到目前爲止設備是否具有GPS的問題的最佳答案。 – WolfLink