Watch Kit: можно ли вибрировать смотреть программно?
Можно ли вибрировать часы в то время, когда работает Watch Extension? Мы можем сделать это на iOS таким образом (заставить iPhone вибрировать):
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
Я надеюсь, что что-то похожее на WatchKit.
Обновление: Я добавил проблему в радар Apple и получил ответ:
Engineering определила, что ваш отчет об ошибке (20019274) является дубликатом другой проблемы (19025053) и будет закрыт.
19025053 все еще открыт.
Обновление 2: AudioServicesPlayAlertSound()
не работает на симуляторе с любым звуковым идентификатором. Кажется, что функция не поддерживается.
Ответы
Ответ 1
Теперь вы можете попросить Watch вибрировать, если вы нацелитесь на watchOS 2.0
Для этого вам нужно всего лишь вызвать playHaptic
в экземпляре WKInterfaceDevice
с любым WKHapticType
. В приведенном ниже примере он будет воспроизводить уведомление тактильно.
Swift 3
WKInterfaceDevice.current().play(.notification)
Objective-C
[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];
Вы также можете прочитать
Документация Apple WKInterfaceDevice
Ответ 2
Это отличный вопрос, но, к сожалению, ответа нет. У WatchKit нет API-интерфейсов, доступных для управления тактильной обратной связью. Если вы действительно хотите, чтобы эта функция была поддержана, я предлагаю вам указать радар в качестве запроса функции.
Ответ 3
Это ответ в objective-c после watchOS 2
[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeNotification];
Ответ 4
С помощью WatchKit вы должны помнить, что ваш код работает на iPhone, а не на часах. Поэтому вызов AudioServicesPlaySystemSound из расширения WatchKit будет работать на iPhone, а не на часах. Это заставит iPhone вибрировать.