31

私は音楽/ビデオプレーヤーアプリを開発していますが、アプリがフォアグラウンドにあるときに自動ロックを無効にする方法を知っておく必要があります。

使用する必要があることはわかっています[[UIApplication sharedApplication] setIdleTimerDisabled:YES];[[UIApplication sharedApplication] setIdleTimerDisabled:NO];、それらを配置するのに最適な場所はどこですか?

4

5 に答える 5

25

でアイドルタイマーを有効にする

- (void)applicationWillResignActive:(UIApplication *)application

で無効にします

- (void)applicationDidBecomeActive:(UIApplication *)application
于 2012-02-23T12:16:59.797 に答える
10

これを無効にするのに最適な場所は、didFinishLaunchingWithOptionsです。アプリがバックグラウンドにある場合、システムは自動的に設定が無効になるように処理します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    application.idleTimerDisabled = YES; 
    return YES;
}

アラートが表示されたとき(電子メール、メッセージ、カレンダーイベントなど)、または通知センターまたはコントロールセンターが稼働しているときに、受け入れられた回答によって自動ロックが妨げられないため、この代替案を投稿しました。

于 2015-08-03T14:35:13.253 に答える
6

Swift 3.0:

AppDelegate.swiftの内部: application.idleTimerDisabled = true

AppDelegate.swiftの外部: UIApplication.shared().isIdleTimerDisabled = true

于 2017-04-24T17:09:02.277 に答える
1

そしてSwift3.0では:

UIApplication.shared().isIdleTimerDisabled = true
于 2016-08-10T14:50:58.067 に答える
1

私の2セント:xcode 9の場合:

 application.idleTimerDisabled = true

..... AppDelegate.swift:28:15:「idleTimerDisabled」の名前が「isIdleTimerDisabled」に変更されました

それで:

application.isIdleTimerDisabled = true
于 2017-10-28T15:28:19.450 に答える