Запуск кода по таймеру, пока приложение работает в фоновом режиме

#iphone #objective-c #nstimer

#iPhone #objective-c #nstimer

Вопрос:

Возможно ли, чтобы такая ситуация произошла:

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

 - (void)applicationDidEnterBackground:(UIApplication *)application
  

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

Ответ №1:

Вы правильно усомнились в этом. Приложение, которое переходит в фоновый режим, не может быть запущено. Таким образом, вы не можете выполнить свой код, пока приложение работает в фоновом режиме. Я бы посоветовал вам просмотреть документ Apple, выполняющий код в фоновом режиме. Он начинается с,

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

Но службам аудио, определения местоположения и voip разрешено работать в фоновом режиме. Для этих служб фоновое выполнение должно быть заранее объявлено приложением, которое их использует.

Комментарии:

1. Ах! Совершенство! Чего я пытаюсь добиться, так это того, чтобы службы определения местоположения работали в фоновом режиме! Есть ли какой-либо код, который я могу просмотреть, который делает именно это? Или мне снова снится белое Рождество? Еще раз спасибо за помощь EmptyStack <3

2. Вот и все! mobile.tutsplus.com/tutorials/iphone /…

3. Чувак, серьезно, ты лучший со времен нарезанного хлеба. Огромное спасибо.

4. Я надеюсь, что iOS — это «чувак», о котором вы говорите выше! 😉

Ответ №2:

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

Комментарии:

1. Мне было бы полезно использовать некоторый код, я довольно новичок в Objective C. Я был бы очень благодарен за это.