我有一個iPad應用程序,用戶可以通過首選項中的開關將idleTimerDisabled設置爲YES或NO。這部分工作正常。但是,如果應用程序第一次運行時不起作用(設備自動進入休眠狀態),則最初在應用程序委託的didFinishLaunchingWithOptions方法中將其設置爲YES。iOS:無法在didFinishLaunchingWithOptions中將UIApplication idleTimerDisabled設置爲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;
}
}
你確定計時器確實是行爲不端。請記住getter方法是'-isIdleTimerDisabled'。 – PengOne
好問題。我沒有檢查過,但[application isIdleTimerDisabled]返回1.無論如何,設備都會休眠。 – Gregir
長鏡頭,但嘗試使用長格式:'[application setIdleTimerDisabled:YES];' – PengOne