Watch Kit:可以通过编程方式振动手表吗?

时间:2015-03-02 10:26:10

标签: objective-c xcode watchkit

Watch Extension运行时是否可以振动手表?我们可以通过这种方式在iOS上实现它(迫使iPhone振动):

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

我希望WatchKit上有类似内容。

更新:我已向Apple雷达添加了问题并收到答案:

  

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

19025053仍然开放。

更新2: AudioServicesPlayAlertSound()无法使用任何声音ID的手表模拟器。似乎不支持函数。

4 个答案:

答案 0 :(得分:35)

如果您定位 watchOS 2.0

,现在可以要求手表振动

要执行此操作,您只需使用playHapticWKInterfaceDevice个实例上调用WKHapticType。在下面的示例中,它将播放通知触觉。

Swift 3

WKInterfaceDevice.current().play(.notification)

<强>目标C

[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];

你可以进一步阅读 Apple WKInterfaceDevice Documentation

答案 1 :(得分:6)

这是一个很好的问题,但遗憾的是答案是否定的。 WatchKit没有任何API可用于控制触觉反馈。如果您希望支持此功能,建议您提交radar作为功能请求。

答案 2 :(得分:2)

这是watchOS 2之后Objective-c的答案

[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];

答案 3 :(得分:-3)

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