2012-04-23 4 views
5

나는 핵심 위치 서비스에 의존하는 차량 추적 응용 프로그램을 개발 중입니다. 신청은 테스트 단계에 있으며, 지난 금요일에 갑자기 작동이 멈췄으며, 내 차를 타고 30mph 이상의 속도로 움직이는 경우에도 GPS가 작동하지 않는 것처럼 위치 업데이트가 전혀 없었습니다. 하루 종일 앱이 전혀 작동하지 않았습니다.iPhone GPS - 유효한 위치 업데이트를받지 못했습니다.

로그를 체크 아웃했는데 전체적으로 단일 위치 업데이트가 없습니다. 그러나 그 당시지도 앱이 완벽하게 작동하여 iOS/GPS 모듈/신호에 문제가 없다고 생각합니다. 토요일 아침 (바로 다음날)에 동일한 앱이 코드 나 설정을 변경하거나 다시 설치하지 않고 작업을 시작했습니다.

지난 2 개월 동안이 응용 프로그램을 작업 해본 결과 세 번째로이 문제가 발생했습니다. 근본 원인을 추적 할 수 없으므로 동일한 빌드가 다시 작동하기 시작합니다. 나는이 장치를 iPhone 3gs (ios 4.3)와 iPhone 4 (ios 5.1)의 두 장치에서 사용했습니다.

그래서, 몇 가지 유사한 문제, 또는 근본 원인이나 문제를 추적 할 수있는 힌트가 될 수 있는지에 어떤 팁을 경험 한 다른 사람이 ...

... UPDATE ... 일부 업데이트 : 위의 진술은 "하나의 업데이트를 수신하지 못했습니다."라는 문구가 잘못되었습니다. 위치 정확도가 최악 인 위치 업데이트가 거의 없으며 +/- 200m (속도 = -1 및 코스 = 1). 하지만 내 애플 리케이션에서 나는 적어도 +/- 50m의 정확성을 요구한다. 정확하지 않은 위치 업데이트를 삭제하는 코드가있어서 업데이트가 전혀 없다고 생각하게되었습니다.

감사합니다.

+0

그런데 질문을 수정할 수 있습니다. – DanSkeel

+0

안녕하세요 @ 지, 나는 또한이 문제에 직면하고 있습니다, 당신이 공유 할 수 제발 어떻게 해결 했습니까? –

+0

@Mohittomar 나는 그것을 극복 할 수 없었다. 나는 또한 애플에게 (4 년 전과 같은) 같은 질문을 던졌고 여전히 그들의 반응을 기다리고있다. – Zee

답변

0

응용 프로그램에서 GPS 하드웨어를 사용하기 위해 OS의 허가를 어떻게 잃었습니까? +[CLLocationManager authorizationStatus]을 확인하여 위치 서비스가 사용 설정되어 있는지 확인하고 있습니까? 기기에서 앱을 삭제하고 다시 빌드하면 위치 액세스 권한을 다시 승인해야한다는 것을 알고 있습니다. 어쩌면 우연히 한 번 부인했을거야?

+0

답장을 보내 주셔서 감사합니다.하지만 사실이 아닙니다. 질문에서 썼듯이 응용 프로그램이 코드/설정 또는 기타 사항을 변경하지 않고 작업을 시작합니다 ... 정말 이상합니다. 다른 대륙에서 한 번이 경험을 두 번이나이 문제가 발생했습니다. – Zee

0

"중요한 변경 위치 서비스"를 사용하는 경우 업데이트를받지 못한 위치에 전화 신호가 있는지 확인하는 것이 좋습니다. 서비스가 셀 변경을 사용하고 GPS를 사용하여 이벤트를 트리거한다고 생각합니다.

+0

아니, GPS를 제외한 모든 것이 잘 작동합니다. +/- 200m와 같은 최악의 위치 정확도로 위치 업데이트를 거의받지 못합니다. 하지만 내 애플 리케이션에서 나는 적어도 +/- 50m의 정확성을 요구한다. – Zee

0

이봐, 당신은 당신이 확률값 위치를 얻기 위해 didUpdateUserLocation 방법을 사용하는 위치 관리자

[_locationManager startUpdatingLocation]; 

를 업데이트하여 위치 업데이트를 강제하고 있는지 확인

self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; 
self.locationManager.distanceFilter = 10.0f; 
self.locationManager.headingFilter = 0.5; 

와 위치 정확도를 설정할 수 있습니다 그 경우가 아니라면 업데이트하여 위치가 업데이트 될 때 해당 메소드를 사용하여 위치 좌표를 가져옵니다.

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

희망 당신의 사소한 문제의 일부와이 도움말 다음 앱이 잠금 updates.You 사용하여이 작업을 중지 할 수 있습니다이 위치를 중지 유휴 모드로 전환하지 않도록해야합니다.

+0

나는 당신이 setIdleTimerDisabled의 실제 pupose를 이해하지 못한다고 추측하기 전에 질문을주의 깊게 읽지 않았다고 생각한다. (잘못되었을 수도 있음), iOS 문서에서 다음 텍스트를 찾을 수있다. – Zee

+1

_ 중요이 속성은 필요한 경우에만 설정해야하며 더 이상 필요가 없으면 NO로 재설정해야합니다. 유휴 타이머가 경과하면 대부분의 응용 프로그램은 시스템이 화면을 끄도록해야합니다. 여기에는 오디오 응용 프로그램이 포함됩니다. 오디오 세션 서비스를 적절하게 사용하면 화면이 꺼지더라도 재생 및 녹음이 중단되지 않습니다. 유휴 타이머를 비활성화해야하는 유일한 응용 프로그램은 응용 프로그램, 게임 또는 유사한 프로그램을 산발적 인 사용자 상호 작용으로 매핑하는 것입니다. _ – Zee

+0

Btw 나는 매핑 응용 프로그램에서이를 사용하고있었습니다. 지도를 사용하여 추적하고 있다고 생각하는 잘못된 질문을 읽으십시오. – Mou