업데이트 : iOS 8 (8.3, 아마)의 일부 버전에서는 비행기 모드 (비행기 모드에서도 GPS 위치 정보를 얻을 수 있음)에서도 GPS 하드웨어를 사용할 수 있습니다. 이것은이 질문을 논리적으로 표현합니다.iPhone에서 비행기 모드가 활성화되어 있는지 확인 하시겠습니까?
- 그것은 아이폰이 비행기 모드에있는 경우 프로그래밍 방식으로 결정할 수
인가? 나는 AirPlane Mode에 있는지를 알고 싶다. 네트워크 연결이 필요 없다. 이 질문은 많이 제기되었지만, 필자가 보았던 모든 대답은 Apple의 Reachability 코드를 참조하여 네트워크 연결이 가능한지 확인했습니다.
iPhone의 GPS를 사용하는 앱을 쓰고 있습니다. 현재 비행기 모드가 켜져 있고 앱이 실행되면 내 위치 관리자 개체가 여전히 존재하는 것처럼 보이고 여전히 캐시 된 위치를 제공하고있는 것으로 보입니다. 상태 표시 줄에 작은 GPS 아이콘이 나타나 내 앱이 위치를 결정하고 있음을 알려줍니다.
나는 비행기 모드에서 휴대 전화의 내가 위치 관리자 객체를 초기화 할 수 없도록 알고 싶어 나는 기능을 GPS를 사용할 수없는 사용자에게 표시하기 위해 내 UI를 변경할 수 있습니다.
GPS 기능은 네트워크 연결에 관계없이 분명히 사용할 수 있으므로 네트워크 연결이 부족하여 비행기 모드의 프록시가 좋지 않습니다. Airplane Mode에서 특정 오류 (locationManager : didFailWithError)를 얻지 못하는 것 같습니다. 여러 소스에서 온 것일 수 있다고 가정합니다.
감사합니다. 이것이 제가 끝내 준 것입니다. – smacdonald
오류 메시지에서 사용자에게 언급해야 할 다른 사례는 앱에 GPS 데이터에 대한 액세스 권한이 부여되었는지 확인해야한다는 것입니다. 나는 사용자가 응용 프로그램이 고장 났다고 주장했다. 권한 팝업에서 "허용하지 않음"을 눌렀다는 것을 알기 위해서였다. –
사용자가 앱의 위치 서비스를 사용 설정하지 않은 경우'locationManager : didFailWithError :'메소드에 'kCLErrorDenied' 오류 결과가 표시됩니다. 그 사건을 처리하기위한 특정 오류 대화 상자가 있습니다. 기기가 비행 중 모드 인 경우 일반 'kCLErrorLocationUnknown' 오류가 표시됩니다. – smacdonald