我正在尝试为 watch 构建一个计时应用程序,它每分钟振动一次,作为用户跟踪时间的一种方式。我的计时器正常工作并振动,但一旦 watch 上的屏幕熄灭,它就不再振动。一旦我唤醒屏幕,它就会恢复正常。
现在发送振动我正在使用这个:
WKInterfaceDevice.currentDevice().playHaptic(.Stop)
我知道这可能是某种旨在节省电池生命周期的设计实现,但显然我的应用的目的是即使在屏幕关闭时也能跟踪时间。这样的事情可能吗?
最佳答案
要在屏幕关闭后保持 watchOS 应用程序运行,现在可以使用新的 WKExtendedRuntimeSession watchOS 6 中提供的命令。
在您的 WatchKit Extension ExtensionDelegate 文件中,使用以下命令创建一个扩展的运行时 session 。
let session = WKExtendedRuntimeSession()
在此委托(delegate)文件中创建一个 applicationDidBecomeActive() 函数,watchOS 将在您的应用激活时调用该函数。在此函数内使用以下命令启动 ExtendedRuntime Session。
session.delegate = self // self as session handler
session.start() // start WKExtendedRuntimeSession
当应用程序处于事件状态时,必须启动扩展的运行时 session 。
请注意,您还需要启用 Background Modes在 WatchKit 扩展目标中。选择 Session Types 之一最适合您正在创建的应用程序类型。
关于ios - 尝试让 Apple Watch 计时器应用程序在屏幕关闭时在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35818671/