2010-08-04 1 views
0

Я пытаюсь сделать приложение, которое записывает точное местоположение каждые 10 минут.работает NSTimer на фоне многозадачного приложения iPhone для включения/выключения службы определения местоположения

проблема заключается в том, что при работе в лучшем режиме батарея разряжается очень быстро.

Я хотел бы, чтобы таймер повернул службу определения местоположения, сделалUpdateToLocation получить хорошее место, поворот службы определения местоположения, а затем ждать таймера снова.

Я пробовал миллион вещей, но мой NSTimer всегда замерзает при установке в фоновом режиме.

интересно, didUpdateFromLocation может превратить услугу определения местоположения выключен, и если вы используете significantChangeUpdate вы можете использовать didUpdateToLocation, чтобы включить услугу определения местоположения обратно, когда пользователь проходит триангуляцию boundry- и место записи в coredata-

так в теории Единственное, что останавливает меня, что эта работа работает, - это NSTimer в потоке, который никогда не замерзает.

Я прочитал несколько документов, в которых говорится, что вы можете делать простые вещи в фоновом режиме за пределами VOIP, местоположения, аудио. есть ли у кого-нибудь опыт получения потока, который не застыл? Я знаю, что все думают, что этого не может быть сделано - из моих исследований это возможно, но я просто не могу понять это.

рекомендации, основанные на любом опыте получать нить работает в фоновом режиме после VOIP, аудио, расположение будет высоко ценится

спасибо, ребята, dave-

ответ

1

Ответ на this question есть альтернативный хак, где вы используете повторно использовать событие applicationDidEnterBackground к петле назад на себя, каждый раз заново начать нить, где вы можете сделать некоторую работу

iPhone - Backgrounding to poll for events