How can I tell if an iOS device has a GPS?

时间秒杀一切 提交于 2019-11-28 11:02:37

For iOS 6 or higher, you might want to try

+ (BOOL)[CLLocationManager deferredLocationUpdatesAvailable]

According to the documentation:

Deferred location updates require the presence of GPS hardware and may not be supported on all iOS devices.

fbrozovic

Apple does not provide a function to directly query the device if it has GPS capabilities or not. There are two possible solutions to your problem:

  1. Query the device type and determine if it has GPS based on that. This is described here.

  2. The way Apple recommends: have a look at their documentation here (Section "Determining the available Hardware Support"). Basically you create an instance of CLLocationManager and set the desired accuracy to the highest level, after that you can query its accuracy; if it's not very accurate, it's likely that the device does not have GPS.

Hope this helps. :)

Only GPS can deliver the location attributes: course and speed.
And as a general rule, you need GPS for precise location, a device whitout GPS will deliver a location.getHoricontalAccuracy() higher than 30- 40m. (Using accuracy setting of CLLLocationAccuracyBest)

So In that case you dont have an accurate position and can ignore that always. (Independnet if the device has GPS or not)

Download altimeter or similar app. Turn off cell data and wifi before you ever use the downloaded app. Then launch the app and see if it will give you Your current altitude. If it works you have GPS if it doesn't then you don't

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!