AVHapticPlayer асинхронный вызов finishWithCompletionHandler: (type=3) не получил ответ через 30 секунд
проблема
Я использую Haptic Feedback в своем приложении, когда пользователь перемещает некоторые плитки. Когда плитки перемещаются очень быстро, что приводит к быстрому срабатыванию тактильной обратной связи, я получаю это предупреждение в консоли через 30 секунд:
2019-01-20 17:29:04.658240+0000 Loopover[17824:4937487] [Feedback] Асинхронный вызов AVHapticPlayer finishWithCompletionHandler: (type=3) не получил ответ через 30 секунд (в этом сообщении сообщалось о смерти 0 Mediaserverd) время)
Как срабатывает тактильная обратная связь?
Я запускаю Haptic Feedback, используя UIImpactFeedbackGenerator
как показано:
UIImpactFeedbackGenerator(style: .light).impactOccurred()
Что это значит?
Я должен беспокоиться об этом предупреждении? Если я перемещаю плитки нормально, никаких проблем не возникает.
Что мне делать, если что?
1 ответ
Я должен беспокоиться об этом предупреждении? Что мне делать, если что?
Я думаю, нет, и нет. В документе Apple о UIFeedbackGenerator https://developer.apple.com/documentation/uikit/uifeedbackgenerator говорится, что вы должны "доверять системе" по этому поводу.
Говоря о таких методах, как impactOccurred()
:
Обратите внимание, что вызов этих методов напрямую не влияет на тактику. Вместо этого он информирует систему о событии. Затем система определяет, следует ли воспроизводить тактильные сигналы, на основе устройства, состояния приложения, оставшегося заряда батареи и других факторов.
Тактильная обратная связь в настоящее время воспроизводится только:
На устройстве с поддерживаемым Taptic Engine
Когда приложение работает на переднем плане
Когда параметр System Haptics включен
А про "Доверие системе":
Как правило, доверяйте системе, чтобы определить, должна ли она воспроизводить обратную связь. Не проверяйте тип устройства или состояние приложения, чтобы вызвать условную обратную связь. После того, как вы определились, как вы хотите использовать обратную связь, всегда запускайте ее, когда происходят соответствующие события. Система игнорирует любые запросы, которые она не может выполнить.
Надеюсь, это поможет!