#問題
[UIApplication sharedApplication].idleTimerDisabled = YES;
したにも関わらず、スリープタイマーが作動してしまう。
#原因
iOS8.0において、キーボードの表示・非表示を行うと、idleTimerDisabled が NO になってしまう。
iOS8.1で修正されている模様。
#解決方法
キーボードの非表示後、再度設定し直す。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];
...
- (void)keyboardDidHide:(NSNotification *)notification
{
if (!SystemVersionLessThan(@"8.0")) {
//reset it again.
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
}
}
#参考