iPhoneだとユーザの設定によって一定時間操作せずにいると、自動的にロック(スリープ状態)されてしまいます。
UIApplicationクラスにidleTimerDisabledというプロパティがあるので、それをYESにすると一定時間が経過しても自動的にロックされないようになります。
[UIApplication sharedApplication].idleTimerDisabled = YES;
逆にNOにするとロックされるように戻ります。
ちなみにXcodeから実機テストを行なっている状態(ケーブルがiPhoneにつながった状態)では、常にロックはされないので注意です。