2011-09-16 4 views
6

내 iPhone 응용 프로그램에서 위치 서비스를 사용합니다. 처음 설치하고 실행하면 잠시 동안 위치 서비스 사용을 허용할지 묻는 대화 상자가 나타나 즉시 사라집니다. 이것은 몇 번 연속으로 발생합니다.사용자가 위치 서비스 사용을 허용할지 묻는 대화 상자가 튀어 나오고 iPhone에서 사라집니다.

알려진 버그이거나 잘못된 것입니까?

+0

위치 관리자를 사용하는 일부 코드를 게시 할 수 있습니까? – chown

답변

13

나는 지금 내 앱에서 똑같은 문제를 겪었고, 나는이 질문을 끈적 끈적한 질문을하는 모든 사람에게 대답으로 추가 할 것이다.

CLLocationManager를 로컬에 설치하고 위치를 업데이트하도록 요청하면 권한을 요청하는 창이 팝업 된 후 즉시 사라집니다.

CLLocationManager를 속성으로 설정해야합니다 (또는 적어도 로컬로 인스턴스를 생성하지 않아야 함). 그러면 작동합니다.

+0

같은 문제가 있었지만이 대답은 –

+0

에 도움이되었습니다. 로컬 변수가 다른 곳에서 참조되지 않았기 때문에 ARC가이를 해제하고 할당이 해제되어 대화 상자가 사라지기 때문입니다. 그래서 CLLocationManager를 속성 또는 인스턴스 변수로 만듭니다. –

0

OS와 비슷하게 위치 서비스 사용을 승인하는 것으로 들립니다. 내가 설명하는 방식을 닫았다가 다시 열지 못하게하는 현저한 문제는 알지 못합니다. 내가 아는 한, 귀하는 이것에 대해 아무런 통제권이 없습니다. 귀하의 앱이 위치 기반 방법 (예 : -startUpdatingLocation 또는 -startMonitoringForRegion)을 트리거하면 자동으로 실행됩니다.

OS 경고에서보기를 훔치려는 다른 충돌하는보기가있을 수 있지만 코드가 없으면 말하기 어렵습니다. 희망이 도움이됩니다.

+0

네, 그게 정확히 무슨 일 이죠. 문제는 내가 위치 서비스를 사용하는 관점이 다르지만 응용 프로그램로드에서 실행되는 뷰가 없다는 것입니다. 로드되는 기본보기 및 첫 번째보기는 위치 서비스를 사용하지 않습니다. – Misha

+0

각 위치에서 위치 정보를 사용하지 않도록 설정하고 누가 문제를 일으키는 지 추적 할 때까지 한 번에 하나씩 다시 추가하는 방법에 대해 생각해 보겠습니다. 시뮬레이터를 공장 설정으로 재설정하고 앱의 위치 서비스 트리거를 재설정 할 수 있습니다. 그건 당신이 그것을 밖으로 테스트하는 데 도움이됩니다. –

관련 문제