如何在手表套件的睡眠模式下使用计时器



我是watchkit的第一个,我要做闹钟应用程序。启动应用程序后,应用程序应每隔几秒钟播放一次声音(用户可以设置此时间间隔(。我正在使用计时器来计算时间间隔,如果计数时间为 0,则播放声音并再次重新发送计时器。

但是在播放声音之前,如果手表进入睡眠模式,则计时器会停止,因此没有播放声音,即没有闹钟。 苹果表示,计时器不是在睡眠模式下工作,而是在模拟器上工作。 我正在尝试使用WKInterfaceTimer。它在睡眠模式下工作,但没有运行函数的事件。这只是计数计时器。没有调用事件来播放声音等。 那么有没有办法像应用程序一样实现警报?有什么方法可以在睡眠模式下使用计时器吗? 感谢您的前进。

模拟器和实际手表设备的功能不同。 对于您的情况, 您只需在接口控制器中声明一个可选的计时器 用

Timer(fireAt: <#T##Date#>, interval: <#T##TimeInterval#>, target: <#T##Any#>, selector: <#T##Selector#>, userInfo: <#T##Any?#>, repeats: <#T##Bool#>(

当控制器被激活时触发计时器,并在控制器被停用时将其设置为 nil,即处于睡眠状态。

尝试在使用 ExtensionDelegate 方法(如 didEnterForeground 和 WillEnterBackground(中执行相同的操作。

最新更新