我的 iOS 应用程序的行为非常奇怪。它可以防止设备进入待机状态。我已经搜索过是否有任何地方设置了 idleTimeDisabled 标志,但事实并非如此。设置应用程序中的空闲计时器设置为 2 分钟,并且可以在其他应用程序中使用。该设备没有越狱,甚至重新启动设备也无济于事。该应用程序是由其他人编写的,我是新手。所以目前我不知道要寻找什么。你们有谁知道为什么会这样,或者我怎么能弄清楚这种行为的原因是什么?
非常感谢!
如果您的应用正在使用AVPlayer
或其他类似AVFoundation
功能,这可能是原因。
如果AVPlayer
正在播放视频,则设备在播放视频时不会进入睡眠状态。
如果视频循环播放,设备将永远不会进入睡眠状态。
编辑: 使用 iOS 12,现在可以通过设置
player.preventsDisplaySleepDuringVideoPlayback = false
把这条线放在你ViewController
不需要处于睡眠模式的地方
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
重要提示:您应该仅在必要时设置此属性,并且应确保在不再需要时将其重置为 NO。大多数应用程序应该让系统在空闲计时器结束时关闭屏幕。这包括音频应用程序。通过适当使用音频会话服务,当屏幕关闭时,播放和录制不会中断。唯一应该禁用空闲计时器的应用程序是映射应用程序、游戏或具有零星用户交互的类似程序。
确保您没有使用 Xcode 进行“测试”。因为只要您用电缆插入 iPhone,它就会始终保持开机状态。