2014-06-24 2 views
0

iOS 7.0+에 대한 GPS 추적 앱을 만들고 있습니다.내 앱이 사망 한 이유를 알아내는 방법

백그라운드에서 위치를 추적 할 때 문제가 있습니다. 우리가 고속도로 중간에 있어도 정확히 5 분 후에 사망합니다 (초당 1 위치). 끊임없이 활동하는 상태에서 살해 된 것은 아닙니다.

이것은 iOS 7.0 버전에서만 발생하며 이후 버전에서는 발생하지 않는 것으로 보입니다.

나는 이미 plist 위치 배경 활동을 등록했습니다.

최대 정확도와 가장 짧은 업데이트 시간이 필요하므로 중요한 변경 방법을 사용하지만 startUpdatingLocation이 아님.입니다. 이 응용 프로그램은 주로 자동차 내부에 연결되어 사용됩니다 (배터리는 자비가 아닙니다).

위치 대리인을 앱 대리인에게 설정하면 할당 취소의 대상이 적어집니다.

이 모든 작업을 수행해도 5 분 이상 백그라운드에서이 앱을 실행하는 것은 여전히 ​​불가능합니다.

저는 앱 상태 복구를 사용해도 항상 내 앱을 종료 할 수있는 방법을 찾는 iOS와 싸우고 있습니다.

문제는 내 응용 프로그램이 죽는 이유를 알 수있는 방법이 있습니까?

: 나에게 도움이되지 않았거나 내 요구에 응답하지 않습니다, 나는 이미 방문한 그 스레드의

목록

+0

백그라운드에서 위치를 사용 하시겠습니까? (예 : 파일을 버퍼링하고 파일 시스템에 기록) 또는지도에 무언가를 표시하기위한 위치 만 사용 하시겠습니까? (배경으로 인해 보이지 않음) – AlexWien

+0

앱이 종료되었거나 충돌이 있습니까? – onnoweb

+0

충돌 보고서가 없기 때문에 실제로 종료됩니다 (HockeyApp). 배경이나 배열에 위치를 삽입하는 동안 버퍼 나 시스템 파일에 쓰지 않습니다. 지연된 위치를 사용해야하지만 지연된 위치를 사용할 수없는 장치에서 실행될 수 있으므로 아직 코드를 최적화하지 않았습니다. – Crazyrems

답변

0

시스템에서 앱이 왜 종료되었는지 알려주지 않습니다.

위치 대리인이 앱 대리인에게 설정되어 할당 취소 대상이 적습니다.

위임자는 위치 관리자의 할당 취소 여부에 영향을주지 않습니다. 위치 관리자 자체에 대한 강력한 참조를 유지해야합니다.

+0

답변 해 주셔서 감사합니다. 위치 관리자가 아니라 할당 취소 된 대리인이라고 생각했습니다. 위치 관리자가 싱글 톤이기 때문에 위치 관리자를 강력히 참조해야하며 기본적으로 클래스 변수가 확실하지는 않습니다. – Crazyrems