Bluetooth Low Energy Advent Calendar 2015 12/24 tvOSでCoreBluetoothを使用する

qiita.com

tvOSでは従来のiOSに存在するフレームワークから多くのものが削られていますが、CoreBluetoothは残されていました。

ただし、従来のiOSで実装されていたすべての機能が使えるわけではありません。確認できた中では、以下の制限が加わっています。

  • CBCentralManagerは使えるが、CBPeripheralManagerを使うことはできない。
  • 同時に接続できるPeripheralは2台以下に制限される。
  • Background-Runnning状態でCoreBluetoothを使うことはできない。

この制限の下であれば、既存のCoreBluetoothのコードを生かして、Peripheralとのやりとりを行うことができます。 例えば、定番のハートレートモニターに接続することもできますし、iPhoneiPad上でCBPeripheralManagerを使用すれば tvOS <-> iPhoneの通信も可能です。アクセストークンを渡して認証に使用したり、続きをiPhoneで見る、のようなこともできそうです。

参考資料 https://speakerdeck.com/nolili/tvoswokuo-zhang-suru

ハートレートモニターに接続するサンプルコード https://github.com/nolili/BluetoothExampleTV