2013-07-29 6 views
0

this question을 방문한 후, 나는 그 질문에 대한 대답이 없을 것이라는 점을 우려하지만, 어쨌든 나는 희망한다.CLRegion 숨겨진 버퍼?

몇 가지 지오 펜스를 설정했습니다 (대부분 작고 큰 하나). 내가 시뮬레이터를 사용하고 큰 CLRegion의 반경을 출력하고 반경이 특정 좌표 주위의 10881.98m이라는 것을 알려주지 만, 동일한 특정 좌표에서 11281.86m 떨어진 곳까지 geolocation을 시뮬레이트하면 트리거되지 않습니다. 큰 영역에 대한 locationManager:didExitRegion: 대리자 메서드

큰 영역은 locationManager:didExitRegion:을 트리거하지 않지만 더 작은 영역은 매번 대리자 메서드를 트리거한다는 것을 확인했습니다. 이것이 발사되지 않는 이유가 있습니까? 지역 주변에 거리 버퍼가 있습니까? 그것은 어딘가에 문서화되어 있습니까?

도움이 될 것입니다.

편집 : 테스트에서 지오 펜스 트리거를 사용하려면 반경을 약 45.28 % 줄여야합니다. 분명히 이것은 매우 부정확하고 지오 펜싱의 전체 개념에 어긋나 기 때문에 훌륭한 솔루션은 아닙니다.

답변

0

내 생각에 이것은 시뮬레이터에 고유 한 문제입니다. CLRegion은 기술적으로 버퍼 또는 패딩을 가지고 있지 않지만 OS는 물리적으로 지오 펜스 영역을 벗어났다는 것을 결정하는 데 훨씬 오래 걸립니다. 그 크기의 울타리에, 나는 그것이 오래 걸릴 수 있다고 상상할 것이다. 100 ~ 200 만개의 작은 지역에서는 운전하는 데 몇 분이 걸리지 만 이벤트를 트리거하기 전에 300 ~ 400M으로 쉽게 볼 수 있습니다. Apple Engineer가 WWDC 2013에서 제게 말했던 것부터 OS는 당신이 떠났음을 결정할 시간이 필요합니다. 또한 셀 타워 삼각 측량 및 알려진 Wi-Fi 네트워크에 의존하기 때문에 시스템을 떠나기로 결정하는 것이 더 어렵습니다. 종료 이벤트를 안전하게 시작하려면 알려진 네트워크를 훨씬 넘어서야합니다.

나는 정확한 대답은 아니지만, 두포에서 어떻게 작동하는지, 애플이 기대하는 바를 조금 더 이해하면 좋겠다. 행운을 빕니다.