У меня есть приложение для iPad, где пользователь может установить для idleTimerDisabled значение YES или NO с помощью переключателя в настройках. Эта часть отлично работает. Однако, первоначально установив его на YES в методе didFinishLaunchingWithOptions делегата приложения, если приложение запускается впервые, устройство не работает (в любом случае устройство автоматически спит).
Я пробовал взломать сначала установку на НЕТ, а затем на ДА, как описано в других темах, но безрезультатно. Все остальные аспекты настроек (standardUserDefaults) также работают нормально.
Вот соответствующий код:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// if app run for the first time, set these as defaults
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if (![prefs objectForKey:@"autoSleep"]) {
// this conditional code runs, as traced using NSLog
[prefs setBool:YES forKey:@"autoSleep"];
application.idleTimerDisabled = NO;
application.idleTimerDisabled = YES;
}
}