音楽/ビデオプレーヤーアプリを開発していて、アプリがフォアグラウンドにあるときに自動ロックを無効にする方法を知っている必要があります。
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
および[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
ある時点で、それらを配置するのに最適な場所はどこですか?
のアイドルタイマーを有効にする
- (void)applicationWillResignActive:(UIApplication *)application
そしてそれを無効にします
- (void)applicationDidBecomeActive:(UIApplication *)application
無効にするのに最適な場所は、didFinishLaunchingWithOptionsです。アプリがバックグラウンドにある場合、システムは自動的に設定を無効にします。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
application.idleTimerDisabled = YES;
return YES;
}
アラートが表示されたとき(メール、メッセージ、カレンダーイベントなど)、または通知センターまたはコントロールセンターが稼働しているときに、受け入れられた回答が自動ロックを妨げないため、この代替案を投稿しました。
Swift 3.0:
Inside AppDelegate.Swift: _application.idleTimerDisabled = true
_
AppDelegate.Swiftの外部:UIApplication.shared().isIdleTimerDisabled = true
そしてSwift 3.0:
UIApplication.shared().isIdleTimerDisabled = true
私の2セント:xcode 9の場合:
application.idleTimerDisabled = true
..... AppDelegate.Swift:28:15:「idleTimerDisabled」の名前が「isIdleTimerDisabled」に変更されました
そう:
application.isIdleTimerDisabled = true