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

Watch Kit: is it possible to vibrate watch programmatically?

Watch Extension 为 运行 时是否可以振动手表?我们可以这样在iOS上做(强制iPhone振动):

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

希望WatchKit上有类似的东西。

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

Engineering has determined that your bug report (20019274) is a duplicate of another issue (19025053) and will be closed.

19025053 还在营业中。

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

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

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

如果您的目标是 watchOS 2.0

,您现在可以让手表振动

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

Swift 3

WKInterfaceDevice.current().play(.notification)

Objective-C

[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];

您可以进一步阅读 Apple WKInterfaceDevice Documentation

这是watchOS 2

后objective-c中的答案
[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];