2011-08-21 72 views
11

對於iPad或iPod touch,是否有方法可以確定設備是否具有GPS?如何判斷iOS設備是否有GPS?

額外信貸:如果iPad本身沒有,但它連接到第三方GPS單元會怎麼樣?我可以確定嗎?

+0

你可能想看看如果這個SO答案解決了你的問題:http://stackoverflow.com/questions/6907584/check-whether-a-cllocation-is-based-on-gps-or-cellular/ 6913657#6913657 – pythonquick

+0

不是所有的iOS設備都有GPS,除了iPhone 2G嗎? – darksky

+0

@Nayefc:不,iPod Touch(所有型號迄今爲止)都沒有GPS。 –

回答

4

對於iOS 6或更高版本,你可能會想嘗試

​​

按照documentation

延期定位更新需要的存在GPS硬件,可能不支持所有iOS設備。

+0

聰明 - 謝謝! ;-) – Brad

+1

有設備有GPS和deferredLocationUpdatesAvailable返回NO。所以這不適用於所有設備。 –

+0

@Francescoverheye你知道這些通常是運行 Warpling

9

如果Apple設備具有GPS功能,則不提供直接查詢該設備的功能。有兩種可能的解決方案來解決您的問題:

  1. 查詢設備類型並確定它是否具有基於此的GPS。這被描述爲here

  2. 蘋果公司推薦的方式:查看他們的文檔here(「確定可用的硬件支持」部分)。基本上你創建一個CLLocationManager的實例,並將所需的精度設置爲最高級別,然後你可以查詢它的準確性;如果它不是很準確,那很可能是該設備沒有GPS。

希望這會有所幫助。 :)

+0

不是我「想要」的答案 - 但它是正確的,但是;-) – Brad

+2

答案#2下的鏈接不再有效。 – Tafsen

-1

下載高度表或類似的應用程序。在您使用下載的應用程序之前關閉細胞數據和wifi。然後啓動應用程序,看看它是否會給你你目前的高度。如果它工作,你有GPS,如果它不,那麼你不

+4

哈哈,哈哈。認爲你誤解了這個問題。 – Christoffer

+2

我會低估答案(如上所述) - 然而,看到返回的「高度」字段的想法是一個體面的想法。 – Brad

1

只有GPS可以提供​​的位置屬性:課程和速度。作爲一般規則,您需要使用GPS進行精確定位,沒有GPS功能的設備將提供高於30-40米的location.getHoricontalAccuracy()。 (使用準確度設置CLLLocationAccuracyBest

所以在這種情況下,您沒有準確的位置並且可以始終忽略它。 (Independnet如果設備有GPS或不能)

相關問題