【发布时间】:2014-02-13 21:47:11
【问题描述】:
是否可以确定设备是否具有 GPS 硬件,而无需维护具有 GPS 硬件的设备列表(如 here 所述)?
this 问题的答案使用CLLocationManager 引用,但提供了死链接。
我还阅读了有关检查设备是否有运营商的信息。我假设这需要设备实际上有一个活动的 SIM 卡,这会导致测试设备和其他一些边缘情况出现问题。
【问题讨论】:
-
GPS 是一种无源设备,类似于便携式调频收音机。它只接收信号,不传输信号,因此检查 sim 卡是命中还是失败。
-
您不应该检查硬件。您应该检查 GPS 是否能够使用。如果您根本不希望您的应用程序运行,除非有 GPS,您可以在 Info.plist (UIRequiredDeviceCapabilities) 中限制它。但否则,如果设备没有提供您想要的准确修复,您的工作就是优雅地失败(并确保留出足够的时间,因为 GPS 可能需要很长时间才能“预热”)。
-
@matt 我想让应用程序运行,我只想阻止某些没有 GPS 就无法运行的功能,但是如果用户只是关闭了 GPS,我想要某些消息,与他们相比无法打开它(即使用 iPod touch)。
-
@NMunro 用户如何“关闭 GPS”?没有开关。用户可以将核心位置作为一个整体关闭,但您在检测 that 时不会有任何困难。但就使用 Core Location而言,你得到的结果就是你得到的结果; Apple 不希望您考虑如何获得该结果。
-
@matt 可以为个别应用关闭定位服务。
标签: ios iphone gps core-location