我有一个 iPad 应用程序,用户可以通过偏好设置将 idleTimerDisabled 设置为 YES 或 NO。那部分工作正常。但是,如果应用程序第一次运行不起作用(设备自动休眠),则最初在应用程序委托的 didFinishLaunchingWithOptions 方法中将其设置为 YES。
我已经尝试过先将其设置为 NO,然后设置为 YES,如其他线程中所述,但无济于事。首选项(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;
}
}