Так, по-видимому, возможно сохранить материал обработки движения процессора, в то время как экран заблокирован, как обозначено здесь:
Выполнение Приложений для iPhone, в то время как в режиме ожидания
Однако после тестирования с примером кода, UIAccelerometer просто прекратит давать значение, как только устройство заблокировано быстро. Существует ли способ вызвать иначе?
В ОС iPhone до версии 3.1.2 была ошибка, из-за которой акселерометр прекращал возвращать значения, как только экран погас. Возможно, вы столкнулись с той же проблемой. Я сообщил об этом в Apple, и они исправили его в версии 3.1.2.
Одна уловка, которую я использую в приложении, - это включить датчик приближения. Это позволяет моему приложению продолжать работу, но если пользователь кладет телефон в карман или иным образом отключает датчик, экран выключается и не потребляет энергию. Между тем, мое приложение все еще работает, и (3.1.2 или новее) акселерометр продолжает отправлять обновления.
Я не пробовал это делать, но если вам надоело обходное решение и оно не работает, возможно, Apple исправила хак. Ссылка, по которой можно обойти, датирована 9 сентября, и с тех пор у нас было как минимум одно обновление ОС.