5

対応する iPad アプリと通信できるように、tvOS で動作する新しい Apple TV をカスタム サービスを備えた Bluetooth 周辺機器としてセットアップしたいと考えています(iPad は中心的な Bluetooth デバイスであり、Apple TV アプリのリモートと考えることができます)。 )。

ここでこれを行うための Apple からのプログラミングガイドがありますが、絶望的に古くなっているようです(プレリリース版であっても):

iOS 9.1 / tvOS のリリース ノートによると、クラスとクラスの両方のinit メソッドが削除され、tvOS (XCode 7.1 を使用) では使用できなくなりました。関連する CoreBluetooth フレームワークの変更点は、こちらで確認できます。CBMutableCharacteristicCBMutableService

startAdvertisingクラスのメソッドを直接使用しようとしましたが、次のようなエラーなしでデリゲート メソッドをCBPeripheralManager呼び出しています。peripheralManagerDidStartAdvertising

let peripheralManager = CBPeripheralManager()
let myCustomServiceUUID = CBUUID(string: "12345678-ABCD-1234-ABCD-123456789ABC")

func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager) {
    if peripheral.state == .PoweredOn {
        print("Bluetooth state is OK.")
        self.startProvidingSecondScreenForTestsService()
        self.peripheralManager.startAdvertising([CBAdvertisementDataServiceUUIDsKey: [self.myCustomServiceUUID]])
    }
}

しかし、途中で特性を定義せずにこの方法でデータを交換する方法がわかりません。

ここで何かを見逃したのでしょうか(おそらく、それらのオブジェクトを定義する代替/より良い方法があるかもしれません)、それともAppleは何らかの理由で新しい Apple TV のカスタム サービスと特性の機能を故意に削除したのでしょうか?

4

0 に答える 0