【发布时间】:2016-02-29 06:12:31
【问题描述】:
我正在使用 Objective-C 开发一款游戏。 Siri 遥控器通过 GCMicroGamepad 运行良好,真正的 MFi 控制器通过 GCGamepad 运行良好。但是,第三方 IR 遥控器在游戏中根本不起作用(iPhone 上的 Remote App 或较旧的 Apple TV 第 3 代遥控器也不起作用)。
我如何识别和区分这些输入?
两天后...我发现当与第三方电视遥控器或 iPhone Remote.app 一起呈现时,UITapGestureRecognizer 可用于正确检测 Up、Down、Left、Right 和 Select 事件。定向事件实际上也是这些类型的遥控器所独有的——Siri 遥控器不会生成定向轻击事件。然而,不幸的是,点击 Siri 遥控器或第三方或 iPhone Remote.app 上的 Select 按钮将从我的点击识别器生成一个 Select 事件。我需要一些方法来区分这两者。
我能找到的唯一区别因素是点击 Siri 遥控器也会在 GCMicroGamepad 上生成一个按钮 - A 按下 - 第三方遥控器或 iPhone Remote.app 不会影响 GCMicroGamepad全部。但是尝试观察 GCMicroGamepad 的点击释放事件,然后使用该事件过滤掉匹配的 Select 按钮事件是非常不雅的。当然,不推荐使用 API。这似乎不是一个好的长期解决方案。如果我能告诉 Siri 遥控器在 GCMicroGamepad 模式下停止生成 UI 事件,那就太好了。
【问题讨论】:
-
那次谈话是否讨论了remote.app?我不记得了。
-
不,只有 Siri 遥控器和游戏控制器。抱歉,我错过了您问题中的那部分。
标签: objective-c tvos gamepad siri-remote