在watch Extension运行时,是否可以振动手表?我们可以在iOS上用这种方式(强迫iPhone振动):
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
我希望WatchKit上也有类似的东西。
更新:我已经向苹果雷达添加了问题,并收到了答案:
工程部已确定您的错误报告(20019274)与另一个问题(19025053)重复,将关闭。
19025053仍然开放。
更新2:AudioServicesPlayAlertSound()
无法在具有任何声音ID的手表模拟器上工作。似乎不支持该功能。
如果您的目标是watchOS 2.0,您现在可以要求手表振动
要做到这一点,您只需要在具有任何WKHapticType
的WKInterfaceDevice
实例上调用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震动。