【发布时间】:2011-02-28 16:38:31
【问题描述】:
如何使用 Objective-C 检查 GPS 信号是否存在?
【问题讨论】:
-
平台?在 PC/Mac 上,您需要一个库来与 GPS 接收器通信,在 iPhone/iPad 上 - 可能有一个 API
标签: objective-c gps core-location
如何使用 Objective-C 检查 GPS 信号是否存在?
【问题讨论】:
标签: objective-c gps core-location
根据您要达到的目标,您可以查看CLLocationManager 上的一些信息:
locationServicesEnabled
返回一个布尔值,指示设备上是否启用了定位服务。
+ (BOOL)locationServicesEnabledsignificantLocationChangeMonitoringAvailable
返回一个布尔值,指示是否可以进行重要的位置变化跟踪。
+ (BOOL)significantLocationChangeMonitoringAvailable
或者...
使用CLLocationManager 的实例,启动查询,并实现委托错误方法。
【讨论】:
核心位置向您隐藏位置获取的确切机制。无法知道它返回的位置是来自蜂窝塔三角测量、Wifi 嗅探还是来自实际 GPS。
不过,它确实给了你一些提示,主要的是它返回的 CLLocation 对象的.horizontalAccuracy。数字越小,使用的机制就越准确。一般来说,真正的 GPS 命中会让您进入 100 米以内。
因此,您可以打开 CLLocationManager 的更新并查看它为您提供的位置的准确性,一旦它们变得相当准确,您就可以知道您正在收听卫星。
【讨论】: