You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分初代与2/3代Apple TV Siri Remote及禁用触控区

准确识别Apple TV遥控器版本的方法

目前通过vendorName属性只能获取到统一的"Remote"值,无法区分初代Apple TV遥控器和配备可点击D-Pad的新款遥控器,以下是几种可靠的识别方式:

  • 检测物理按键支持
    新款遥控器具备可点击的D-Pad物理按键,初代仅支持触控操作。可以通过MicroGamepad的按键支持状态判断:

    if let gamepad = microGamepad.gamepad {
        let hasPhysicalDPad = gamepad.dpad.up.isSupported && 
                             gamepad.dpad.down.isSupported && 
                             gamepad.dpad.left.isSupported && 
                             gamepad.dpad.right.isSupported
        if hasPhysicalDPad {
            // 判定为新款带D-Pad的遥控器,可执行禁用触控区逻辑
        } else {
            // 判定为初代遥控器
        }
    }
    
  • 读取产品标识符
    利用GCController或GCDevice的productIdentifier属性,不同版本遥控器的标识符存在差异:

    if let productID = microGamepad.controller?.productIdentifier {
        switch productID {
        case "com.apple.GCClient.AppleTVRemote":
            // 初代遥控器
        case "com.apple.GCClient.AppleTVRemoteDPad":
            // 新款带D-Pad的遥控器
            // 禁用触控区的代码逻辑在此实现
        default:
            // 非目标遥控器设备
        }
    }
    

    注:实际标识符需通过真机测试验证,不同tvOS版本可能存在细微差异。

  • 系统版本辅助验证
    新款D-Pad遥控器随tvOS 13及以上版本推出,可结合系统版本做补充判断(需注意旧款Apple TV也可能搭配新款遥控器,仅作辅助):

    if #available(tvOS 13.0, *) {
        // 具备新款遥控器支持条件,需结合硬件检测最终确认
    } else {
        // 仅可能是初代遥控器
    }
    

内容的提问来源于stack exchange,提问作者Tiago Mendes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:33:18