我的应用程序使用mach_absolute_time来计算自上次触摸事件以来的滴答数,并在超过10分钟的空闲时间限制后将用户注销。
这在iOS 6上运行得很好,但我注意到在iOS 7上它的行为不正确。具体来说,当iOS 7设备(使用电池)未连接电源时,在此行之后,设备似乎停止递增其滴答声,随着无操作时间的增加,设备会进入睡眠状态: powerd [47]:Sleep:Using BATT(Charge:99%)
因此,当我在10分钟后唤醒设备并使用mach_absolute_time计算滴答数时,差异显示仅为5分钟(实际上已经过去了10分钟)。
奇怪的是,当设备连接到电源时,一切都正常工作,滴答声继续运行。当连接时,控制台日志中从不显示设备正在进入睡眠状态(尽管屏幕确实关闭,并且在视觉上的行为与断开连接时相同)。
我也尝试使用clock_get_time,但遇到了同样的问题。
在iOS 7中是否有什么可以做的事情,以使Mach绝对时间在设备进入睡眠状态时继续运行?我不想使用[[NSDate date] timeIntervalSince1970],因为用户可以操纵系统时间并绕过此功能。
感谢您的任何见解。
这在iOS 6上运行得很好,但我注意到在iOS 7上它的行为不正确。具体来说,当iOS 7设备(使用电池)未连接电源时,在此行之后,设备似乎停止递增其滴答声,随着无操作时间的增加,设备会进入睡眠状态: powerd [47]:Sleep:Using BATT(Charge:99%)
因此,当我在10分钟后唤醒设备并使用mach_absolute_time计算滴答数时,差异显示仅为5分钟(实际上已经过去了10分钟)。
奇怪的是,当设备连接到电源时,一切都正常工作,滴答声继续运行。当连接时,控制台日志中从不显示设备正在进入睡眠状态(尽管屏幕确实关闭,并且在视觉上的行为与断开连接时相同)。
我也尝试使用clock_get_time,但遇到了同样的问题。
在iOS 7中是否有什么可以做的事情,以使Mach绝对时间在设备进入睡眠状态时继续运行?我不想使用[[NSDate date] timeIntervalSince1970],因为用户可以操纵系统时间并绕过此功能。
感谢您的任何见解。