iOS App可防止设备进入睡眠模式

Ale*_*lex 19 standby ios

我的iOS应用程序的行为非常奇怪.它可以防止设备进入待机状态.我已经搜索过是否设置了idleTimeDisabled标志,但事实并非如此.设置应用程序内的空闲计时器设置为2分钟,可在其他应用程序中使用.该设备没有越狱,甚至重启设备也无济于事.该应用程序是由其他人编写的,我是新手.所以此刻我不知道该寻找什么.你们有没有想法,为什么会出现这种情况或者我怎么能弄清楚这种行为的原因是什么?

非常感谢你!

Mut*_*awe 13

将此行放在您ViewController不需要处于睡眠模式的行中

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
Run Code Online (Sandbox Code Playgroud)

重要提示:您应该仅在必要时设置此属性,并且当需要不再存在时,应确保将其重置为NO.大多数应用程序应在闲置计时器结束时让系统关闭屏幕.这包括音频应用程序.通过适当使用音频会话服务,当屏幕关闭时,播放和录制不会中断.应该禁用空闲计时器的唯一应用程序是通过零星的用户交互来映射应用程序,游戏或类似程序.

  • 谢谢你的回答Mutawe.但问题不在于应用程序或其中一个ViewController应始终保持打开状态.该应用程序(不幸的是)单独执行此操作并阻止设备进入待机状态.应用程序内部不存在setIdleTimerDisabled标志. (4认同)

anc*_*jic 11

如果您的应用正在使用AVPlayer或其他类似AVFoundation功能,这可能是原因.

如果AVPlayer正在播放视频,则视频播放时设备不会进入休眠状态.

如果视频正在循环播放,则设备将永远不会进入休眠状态.

编辑: 使用iOS 12,现在可以通过设置

player.preventsDisplaySleepDuringVideoPlayback = false
Run Code Online (Sandbox Code Playgroud)


小智 5

确保您没有使用Xcode"测试".因为只要您使用电缆插入iPhone,它就会始终保持打开状态.