AndroidTVRemoteControl 2.4.15

AndroidTVRemoteControl 2.4.15

Odyshew Roman 维护。



  • 作者:
  • Odyshew Roman

AndroidTVRemoteControl

License SPM Compatible CocoaPods Support

本项目实现了与 Android TV OS 设备的配对和连接,使用 protovol v2,并遵循此处描述的方法 Google TV (aka Android TV) Remote Control (v2)

兼容性

AndroidTVRemoteControl 支持 iOS 版本 14 或更高版本以及 Swift 4 及以上版本。

安装

Swift Package Manager

在 Xcode 中,前往:文件 -> Swift 包 -> 添加包依赖...

输入 CurvedTextView GitHub 仓库地址 - https://github.com/odyshewroman/AndroidTVRemoteControl

选择版本

导入 AndroidTVRemoteControl 模块并开始使用 AndroidTVRemoteControl

用法

首先,您需要一个证书以建立与 Android TV OS 设备的 TLS 连接。由于连接是在本地网络上进行的,因此使用自签名的证书是合适的。

整个过程分为两部分 - 配对发送 命令(是的,在这其中也有一个内部的配对过程)。

接下来,您需要创建一个对象 - CryptoManager,在闭包中传递您的逻辑以获取证书的公钥。然后创建 TLSManager,并传递获取 CFArray 的逻辑 - 包含从证书中提取的每个项目的字典的数组。您还需要设置一个闭包,在这个闭包中,您将连接到 Android TV OS 设备时从 Android TV OS 设备获取的 SecTrust 传递给 CryptoManager。

配对

现在您可以创建一个 配对管理器,传入 TLSManagerCryptoManager 作为参数。设置一个闭包来处理配对过程状态,并调用连接方法。当您收到 waitingCode 状态时,在 Android TV OS 设备屏幕上会显示三个十六进制数字(6个字符,您可以验证 - 用户输入应仅包含数字 0-9 和字符 A-F)。接收到含这些字符的字符串后,您需要调用 配对管理器sendSecret 方法。在成功的情况下,您将收到 successPaired 状态。

远程

恭喜,您已成功连接到 Android TV OS 设备! 如果您之前已与此设备配对,您可以跳过配对和代码输入步骤,直接进入命令发送过程。

要发送命令,您需要使用 RemoteManager 对象。此外,设置一个闭包来处理连接过程状态并调用 connect 方法。当达到 connected 状态时,您可以使用 send 方法开始向 Android TV OS 设备发送消息。实际上,有时设备可能不会对指定的消息序列做出响应,但实际上已经准备好接受命令。在这种情况下,您可以在连接后使用短暂的超时。如果在超时时间内状态未变更为 error,您可以认为设备已准备好接受您的命令。