5

のドキュメントにCBMutableDescriptor:initWithType:value:は、型パラメーターの「特性を識別する 128 ビット UUID」を渡すように記載されています。次に、型パラメーターにはCBUUIDCharacteristicUserDescriptionStringまたはのいずれかのみを使用する必要があると述べています。CBUUIDCharacteristicFormatString最後に、変更可能な特性に記述子を追加する方法はありません。

このパラメーターは、相互に排他的な 2 つのことを行っているようです。一方では、記述子がどの特性に適用されるかを O/S に伝えるために使用され、他方では、記述子のタイプを設定するために使用されます。2 番目の方がより理にかなっていますが、では、記述子を特性にどのように追加するのでしょうか?

特性または の UUID を渡すかどうかに関係なくCBUUIDCharacteristicUserDescriptionString、iOS は次のようにクラッシュします。

Assertion failure in -[CBMutableDescriptor initWithType:value:], /SourceCache/CoreBluetooth_Sim/CoreBluetooth-59.3/CBDescriptor.m:25

CBMutableDescriptor を作成して CBMutableCharacteristic に追加する正しい方法は何ですか?

4

1 に答える 1