【问题标题】:Watch Kit: is it possible to vibrate watch programmatically?Watch Kit:是否可以以编程方式振动手表?
【发布时间】:2015-05-02 16:01:19
【问题描述】:

手表扩展程序运行时是否可以振动手表?我们可以在 iOS 上这样(强制 iPhone 振动):

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

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

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

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

19025053 仍处于打开状态。

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

【问题讨论】:

    标签: objective-c xcode watchkit


    【解决方案1】:

    如果您以 watchOS 2.0

    为目标,现在可以让 Watch 振动

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

    斯威夫特 3

    WKInterfaceDevice.current().play(.notification)
    

    Objective-C

    [[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];
    

    您可以进一步阅读 Apple WKInterfaceDevice Documentation

    【讨论】:

    • 这应该是现在的正确答案了 :) 让我们等待发布。
    • 如果能把目标也提高起来就好了:)
    【解决方案2】:

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

    【讨论】:

    • 希望以后的WatchKit版本中会增加或揭示这个功能。
    • 同意。如果你觉得这个答案足够了,你应该把它标记为足够。干杯。
    【解决方案3】:

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

    [[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];
    

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 不,iPhone 也不会振动。我了解 AudioServicesPlaySystemSound 在 Apple Watch 上不起作用。我要了类似的东西
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多