So apparently it is possible to keep the processor going processing stuff while the screen is locked, as indicated here:
Running IPhone apps while in sleep mode
However, after tes开发者_高级运维ting with the example code, UIAccelerometer will just stop giving value as soon as the device is locked pronto. Is there a way to force otherwise?
There was a bug in iPhone OS prior to 3.1.2 that caused the accelerometer to stop returning values as soon as the screen was blanked. You may be running into this same issue. I filed a bug with Apple about it and they fixed it in 3.1.2.
One trick I use in an app is to enable the proximity sensor. This allows my app to continue running, but if the user puts their phone in their pocket or otherwise trips the sensor, the screen turns off and doesn't consume power. Meanwhile, my app is still running and (3.1.2 or later) the accelerometer continues sending updates.
I haven't tried this but if you've tired the workaround and it didn't work then it's possible that Apple patched out the hack. The link that gives the work around is from Sept 09 and we've had at least one OS update since then.
精彩评论