Ios 如何在深度睡眠中在越狱的iPhone上准确安排任务

Ios 如何在深度睡眠中在越狱的iPhone上准确安排任务,ios,objective-c,background,daemon,jailbreak,Ios,Objective C,Background,Daemon,Jailbreak,我正在开发一个后台(守护进程)应用程序,它将在精确的时间安排任务。例如,在下午3点做某事,也可以在3小时后做某事。我已经尝试过NSTimer和调度NSThread,但它在我调度时无法完成任务,因为iPhone处于深度睡眠状态 请注意,这是一个应用程序,安装在一个破烂不堪的设备上,作为守护程序运行,因此它没有UIApplication实例。我的守护程序也有同样的问题。我找不到任何安排设备唤醒的工作方法。相反,我通过无休止地播放音频文件来防止它陷入深度睡眠。这样你就不需要取消睡眠,你的设备就会保持清

我正在开发一个后台(守护进程)应用程序,它将在精确的时间安排任务。例如,在下午3点做某事,也可以在3小时后做某事。我已经尝试过NSTimer和调度NSThread,但它在我调度时无法完成任务,因为iPhone处于深度睡眠状态


请注意,这是一个应用程序,安装在一个破烂不堪的设备上,作为守护程序运行,因此它没有
UIApplication
实例。

我的守护程序也有同样的问题。我找不到任何安排设备唤醒的工作方法。相反,我通过无休止地播放音频文件来防止它陷入深度睡眠。这样你就不需要取消睡眠,你的设备就会保持清醒。我现在找不到代码,但它非常简单——只需调用几个AVAudioPlayer。您还需要为音频播放和混音设置音频会话。它都是公共的和非常有名的API,所以实现它应该不会有任何问题

它有问题。例如,播放音频文件会将音频重新路由到设备接收器。默认情况下,音频通过扬声器播放,因此您需要注意这一点。您还需要检测屏幕何时打开/关闭,因为当屏幕打开时设备将不睡眠。当屏幕关闭时,您开始播放静音。当它打开时,你停止它。这也将解决与其他尝试播放音频的应用程序的混合问题


不幸的是,我现在没有任何代码向您展示一些示例。如果需要,我可以稍后添加代码。

非常感谢您的帮助。这种方法似乎可以防止设备处于睡眠状态。但是,我想找出一种方法,允许设备进入睡眠模式,但仍然允许我的应用程序在准确的时间执行任务。