10

我已经想出了如何阻止 iOS 设备进入睡眠状态(见下文),但我在撤消该设置时遇到了麻烦。根据Apple Documentation,它应该只是更改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 来禁用“空闲计时器”来避免系统睡眠。


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

4

1 回答 1

40

当你从 Xcode 运行时,你在尝试这个吗?无论您是否设置,从 Xcode 运行总是会禁用空闲计时器[UIApplication sharedApplication].idleTimerDisabled。您可以通过从 iPhone/iPod touch/iPad 手动打开应用程序来尝试。

于 2012-10-12T09:33:48.133 回答