Включить акселерометр iPhone при заблокированном экране

Таким образом, очевидно, что можно заставить процессор обрабатывать данные, пока экран заблокирован, как указано здесь:

Запуск приложений iPhone в спящем режиме

Однако после тестирования с примером кода UIAccelerometer просто перестанет выдавать значение, как только устройство будет немедленно заблокировано. Есть ли способ заставить иначе?


person kamziro    schedule 27.03.2010    source источник
comment
Вы используете таймер, который проигрывает трюк с беззвучным аудиофайлом?   -  person TechZen    schedule 27.03.2010


Ответы (2)


В ОС iPhone до версии 3.1.2 была ошибка, из-за которой акселерометр прекращал возвращать значения, как только экран погас. Возможно, вы столкнулись с той же проблемой. Я сообщил об этом в Apple, и они исправили его в версии 3.1.2.

Одна уловка, которую я использую в приложении, - это включить датчик приближения. Это позволяет моему приложению продолжать работу, но если пользователь кладет телефон в карман или иным образом отключает датчик, экран выключается и не потребляет энергию. Между тем, мое приложение все еще работает, и (3.1.2 или новее) акселерометр продолжает отправлять обновления.

person Steve Madsen    schedule 29.03.2010
comment
Ого, спасибо, это был бы хороший трюк, если он сработает - попробую. Жаль только владельцев iPod. - person kamziro; 30.03.2010

Я не пробовал это, но если вам надоело обходное решение и оно не сработало, возможно, Apple исправила хак. Ссылка, по которой можно обойти, датирована 9 сентября, и с тех пор у нас было как минимум одно обновление ОС.

person TechZen    schedule 27.03.2010
comment
Не то, что нравится яблоку, да .. Думаю, нам просто нужно как-то минимизировать расход батареи .. - person kamziro; 27.03.2010
comment
Apple не любит ничего, что лишает пользователя контроля или может обмануть пользователя. Я думаю, у вас могут возникнуть проблемы с дизайном, если вы планируете создать впечатление, будто iPhone спит, когда это не так. Пользователи могли подумать, что он выключился, и случайно запустили телефон. Я бы добавил, что вы можете значительно сократить потребление энергии, отображая простой черный вид с небольшим количеством текста, указывающего на операцию. У вас всегда должно быть указание на то, что делает устройство, чтобы пользователь мог им управлять. - person TechZen; 27.03.2010
comment
Верно ага .. черный экран. Я действительно хотел, чтобы была опция «поворот экрана для экономии энергии», но это, вероятно, лучшее, что мы получим, а. - person kamziro; 28.03.2010