【问题标题】:AVHapticPlayer async call finishWithCompletionHandler: (type=3) did not get a reply after 30 secondsAVHapticPlayer async call finishWithCompletionHandler: (type=3) 30秒后没有得到回复
【发布时间】:2019-01-20 17:39:36
【问题描述】:

问题

我在我的应用中使用 Haptic Feedback 来处理用户移动某些图块时的情况。当瓷砖移动得非常快,导致触觉反馈快速触发时,我在 30 秒后在控制台中收到以下警告:

2019-01-20 17:29:04.658240+0000 Loopover[17824:4937487] [反馈] AVHapticPlayer async call finishWithCompletionHandler: (type=3) 30 秒后没有得到回复(通知 0 mediaserverd 死亡(s ) 在这个时候)

触觉反馈是如何触发的?

我正在使用UIImpactFeedbackGenerator 触发触觉反馈,如图所示:

UIImpactFeedbackGenerator(style: .light).impactOccurred()

这是什么意思?

我应该担心这个警告吗?如果我正常移动瓷砖,不会出现问题。

如果有的话,我该怎么办?

【问题讨论】:

    标签: ios swift haptic-feedback uifeedbackgenerator


    【解决方案1】:

    我应该担心这个警告吗?如果有的话,我该怎么办?

    我猜没有,也没有。在 Apple 关于 UIFeedbackGenerator https://developer.apple.com/documentation/uikit/uifeedbackgenerator 的文档中,他们说您应该对此“信任系统”。

    impactOccurred()之类的方法:

    请注意,调用这些方法不会直接播放触觉。 相反,它会将事件通知系统。那么系统 根据设备确定是否播放触觉, 应用程序的状态、剩余电池电量等 因素。

    目前仅播放触觉反馈:

    • 在支持 Taptic Engine 的设备上

    • 应用在前台运行时

    • 启用系统触觉设置时

    关于“信任系统”:

    作为一般规则,信任系统来确定它是否应该 播放反馈。不要检查设备类型或应用程序状态以 有条件地触发反馈。在你决定了你想要的方式之后 使用反馈,总是在适当的事件发生时触发它。这 系统会忽略它无法满足的任何请求。

    我希望这会有所帮助!

    【讨论】:

    • 我的设备符合您提到的所有标准。为什么我仍然会收到此警告?是否只是系统日志记录,当时它不会使用触觉(由于很多被调用)?
    • 啊!我做了一个快速示例,当视图被拖动时调用impactOccurred()。对我来说看起来很正常,警告是。我得到了[Feedback] out of channels[Feedback] AVHapticPlayer async call finishWithCompletionHandler: still did not get a reply after one minute。所以对我来说,你应该没问题。 :)
    猜你喜欢
    • 2017-07-10
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    相关资源
    最近更新 更多