我已经想出如何阻止iOS设备进入睡眠状态(见下文),但是我在修复设置时遇到了麻烦。根据{{3}},它应该只是改变idleTimerDisabled
属性的值。但是当我测试它时,它不起作用。
这就是我最初阻止设备进入睡眠的方式:
//need to switch off and on for it to work initially
[UIApplication sharedApplication].idleTimerDisabled = NO;
[UIApplication sharedApplication].idleTimerDisabled = YES;
我原以为以下方法可以解决问题:
[UIApplication sharedApplication].idleTimerDisabled = NO;
此属性的默认值为NO。当大多数应用程序在短时间内没有作为用户输入的触摸时,系统将设备置于屏幕变暗的“睡眠”状态。这样做是为了节省电力。但是,没有用户输入的应用程序除了加速计 - 游戏,例如 - 可以,通过将此属性设置为YES,禁用“空闲计时器”以避免系统睡眠。
重要提示:您应该仅在必要时设置此属性,并且当需要不再存在时,应确保将其重置为否。大多数应用程序应在闲置计时器结束时让系统关闭屏幕。这包括音频应用程序。通过适当使用音频会话服务,当屏幕关闭时,播放和录制不会中断。应该禁用空闲计时器的唯一应用程序是通过零星的用户交互来映射应用程序,游戏或类似程序。
答案 0 :(得分:26)
您是否在从Xcode运行时尝试此操作?无论您是否设置[UIApplication sharedApplication].idleTimerDisabled
,从Xcode运行始终会禁用空闲计时器。您可以通过从iPhone / iPod touch / iPad手动打开应用程序来尝试它。