我的CoreBluetooth應用程序需要啓用客戶端特徵配置描述符中的「指示位」。下面是我做的:CoreBluetooth writeValue:forDescriptor:issue
- 開始掃描
- 開始連接到設備
- 呼叫
discoverServices
呼叫
discoverCharacteristics
回調內 - (空)周:(CBPeripheral *)外設didDiscoverServices:(NSError *)錯誤
呼叫
discoverDescriptorsForCharacteristic
內部callb ACK- (空)周:(CBPeripheral *)外圍didDiscoverCharacteristicsForService:(CBService *)服務錯誤:(NSError *)錯誤
內回調
- (空)周:(CBPeripheral * )外圍didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)特性誤差:(NSError *)錯誤
我稱爲:
if ([[descriptor.UUID representativeString] isEqualToString:@"2902" ])
{
const unsigned char raw_data[] = {0x02};
NSData *myData = [NSData dataWithBytes: raw_data length: 2];
[self.cBCP writeValue:myData forDescriptor:descriptor];
}
但我的應用程序崩潰在writeVale
:。控制檯中的錯誤信息是:
Cannot write Client Characteristic Configuration descriptors using this method!
任何想法?謝謝
我想知道是否有任何示例代碼使用writeVale:forDescriptor。 –
其實我的解決方案是不使用writeValue:forDescriptor。 –
你能解釋一下如何在不使用writeValue:forDescriptor的情況下啓用指示嗎?我被困在同一個地方... – imcc