рекомендации iOS явно не позволяют использовать фоновые задачи для более 10 минут. Я разрабатываю приложение таймера приготовления пищи, которое позволяет пользователю установить определенное время и начать обратный отсчет.
Однако представляется невозможным установить фоновую задачу (например, с помощью UILocalNotification или добавления NSTimer в [NSRunLoop mainRunLoop]), которая выполняется более 10 минут.
Есть ли работа вокруг этого? Как разработчики создают приложения, запускающие таймеры, которые работают дольше 10 минут?
Возможные решения:
- О: используйте службу сервера и запустите таймер удаленно, отправьте уведомление с сервера, как только таймер завершит работу, чтобы «предупредить» пользователя. Минусы: дорогой запуск сервера, затратное время на разработку.
- B: после запуска приложения держите его активным на переднем плане (не допускайте срабатывания заставки). Минусы: дорогая батарея.
Любые другие идеи?
РЕДАКТИРОВАТЬ: я бы хотел, чтобы приложение работало с iWatch. Следовательно, отображение уведомления о взгляде на iWatch после срабатывания таймера. Поскольку это управляется приложением для iPhone, я не смогу этого сделать, если приложение не будет активно.
UILocalNotification
с кем угодноfireDate
в любое время. Ограниченный период времени, который вы упомянули, предназначен для того, чтобы ваша программа работала в фоновом режиме, но я думаю, вы можете запланировать локальные уведомления в любое время. - person Rob   schedule 06.01.2015