Сколько времени отводится iOS-приложению, если оно не приостановлено или повторно запущено фоновой службой? - PullRequest
0 голосов
/ 26 марта 2011

У меня есть приложение iOS 4 на основе определения местоположения, которое опирается на мониторинг значительных изменений местоположения в фоновом режиме.Состояние документов Apple:

Во время пробуждения ваше приложение переводится в фоновый режим, и ему предоставляется небольшое время для обработки данных о местоположении.Поскольку ваше приложение работает в фоновом режиме, оно должно выполнять минимальную работу и избегать любых задач (например, запросов к сети), которые могут помешать его возврату до истечения выделенного времени.

Кто-нибудь знает, как долго"небольшое количество времени?"В частности, мне интересно, есть ли у меня достаточно времени, чтобы позвонить startUpdatingLocation в диспетчер местоположений, чтобы получить более точное исправление, чем то, что могло бы обеспечить исходное событие местоположения.(Мои фоновые события местоположения почти всегда сообщают об их horizontalAccuracy как 1000 м.)

Если «маленькое количество времени» Apple будет недостаточно для этой цели, я могу позвонить beginBackgroundTaskWithExpirationHandler: из фонового приложения взаказать больше времени?Я знаю, что это обычно дает вам дополнительные 600, что более чем достаточно.

1 Ответ

0 голосов
/ 26 марта 2011

Вам абсолютно необходимо найти более точное исправление при перезапуске приложения, или вы можете выполнить эту тяжелую работу после того, как ваше приложение было перемещено на передний план, и показать экран типа «Загрузка ...» во время работыпроисходит?Это устранило бы любые проблемы относительно тайм-аутов.

...