【发布时间】:2011-12-03 12:12:04
【问题描述】:
更新:从 iOS 8 的某些版本(可能是 8.3)开始,即使在飞行模式下也可以打开 GPS 硬件(即,即使在飞行模式下也可以获取 GPS 位置)。这使得这个问题没有实际意义。
--
是否可以通过编程方式确定 iPhone 是否处于飞行模式?我特别想知道它是否处于飞行模式,而不是拥有(或没有)网络连接。这个问题被问了很多,但我看到的每个答案都参考了 Apple 的可达性代码来确定网络连接是否可用。
我正在编写一个使用 iPhone 的 GPS 的应用程序。目前,如果飞行模式打开并且我的应用程序启动,我的位置管理器对象似乎仍然存在,并且似乎仍然给我一个(缓存的?)位置。 GPS 小图标出现在状态栏中,让我知道我的应用正在确定位置。
我想知道手机是否处于飞行模式,这样我就无法初始化位置管理器对象,并且我可以更改我的 UI 以向用户指示 GPS 功能不可用。
无论网络连接如何,显然都可以使用 GPS 功能,因此缺乏网络连接让我觉得它是飞行模式的不良代理。在飞行模式下,我似乎没有收到任何特定错误(通过 locationManager: didFailWithError),只是我假设可能来自多个来源的一般错误。
【问题讨论】:
标签: iphone objective-c