手表套件:是否可以通过程序振动手表



在watch Extension运行时,是否可以振动手表?我们可以在iOS上用这种方式(强迫iPhone振动):

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

我希望WatchKit上也有类似的东西。

更新:我已经向苹果雷达添加了问题,并收到了答案:

工程部已确定您的错误报告(20019274)与另一个问题(19025053)重复,将关闭。

19025053仍然开放。

更新2:AudioServicesPlayAlertSound()无法在具有任何声音ID的手表模拟器上工作。似乎不支持该功能。

如果您的目标是watchOS 2.0,您现在可以要求手表振动

要做到这一点,您只需要在具有任何WKHapticTypeWKInterfaceDevice实例上调用playHaptic。在下面的示例中,它将播放通知触觉。

Swift 3

WKInterfaceDevice.current().play(.notification)

Objective-C

[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];

您可以进一步阅读Apple WKInterfaceDevice文档

这是一个很好的问题,但不幸的是答案是否定的。WatchKit没有任何可用的API来控制触觉反馈。如果你真的想看到这个功能得到支持,我建议你提交一个雷达作为功能请求。

这是watchOS 2 之后objective-c中的答案

[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];

使用WatchKit,您必须记住您的代码在iPhone上运行,而不是在手表上运行。因此,来自WatchKit扩展的AudioServicesPlaySystemSound调用将在iPhone上运行,而不是在手表上运行。它会让iPhone震动。

相关内容

最新更新