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

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

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

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

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

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

так что теоретически единственное, что мешает мне запустить эту штуку, — это NSTimer в потоке, который никогда не зависает.

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

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

спасибо, ребята, дэйв-


person dave    schedule 04.08.2010    source источник


Ответы (1)


В ответе на этот вопрос есть альтернативный хак, в котором вы повторно используете событие applicationDidEnterBackground для возврата к самому себе, каждый раз перезапуская поток, в котором вы можете выполнить некоторую работу

iPhone — фоновый опрос для опроса событий

person Martin Belcher - AtWrk    schedule 07.02.2011