2011-04-14 2 views
1

TravAlert과 비슷한 앱을 만들려고합니다. GPS를 주기적으로 '핑 (ping)'하여 사용자의 위치를 ​​파악합니다. 불행하게도, 나는 그것을하는 방법을 알아내는 시간의 지옥을 가지고있다.iPhone GPS를 주기적으로 '핑 (ping)'합니까?

NSTimer가 백그라운드에서 실행되지 않기 때문에 NSTimer를 사용하여 GPS 검사를 실행할 수 없습니다 (이 앱은 아마도 수행해야 함). 로컬 또는 푸시 알림은 자동으로 알림이 제공되고 GPS가 쿼리 된 모든 시간을 알 필요가 없으므로 "타이머"로 사용할 수 없습니다.

나는 또한 CoreLocation의 startMonitoringSignificantLocationChanges를 사용하여 시도하고 그 정도 작동하지만 난 그냥 사용자가 가난한 세포 서비스의 영역에 될 일이 사건을 볼 수는 (분명히 startMonitoringSignificantLocationChanges 위치를 결정하는 수단으로 셀 타워 삼각 측량을 사용하여) 따라서 앱이 실행되지 않습니다.

TravAlert는 어떤 생각을 갖고 있습니까?

감사합니다.

P. 나는 더 나은 앱을 만들어서 TravAlert를 벗겨 내지려고하지 않습니다. 이것은 대학 수업을위한 것이며, 불행히도 제 교수 나 다른 누군가는 TravAlert의 GPS "ping"을 복제하는 방법에 관해 가장 희미한 생각을 가지고 있지 않습니다.

답변

2

startMonitoringSignificantLocationChanges은 앱에 적합한 선택입니다. 앱이 실행되는 동안 더 세밀한 위치 정보를 얻을 수 있습니다. 백그라운드에서 GPS를 실행하는 또 다른 옵션은 높은 전력 소비로 인해 자동차에 연결된 네비게이션 앱을위한 것입니다.

+0

감사합니다. 방금 생각한 또 다른 아이디어를 생각해 봤습니다.'startMonitoringSignificantLocationChanges'를 사용하고 목표 대상과 상당히 가까운 위치를 얻은 후에는 여행의 마지막 단계에서보다 비싼 'startUpdatingLocation'으로 전환 할 수 있습니까? –

관련 문제