iOS蓝牙LE peripheralManager didReceiveWriteRequests的例子

我需要一个函数didReceiveWriteRequests的示例实现,当中央iOS设备将数据写入“writeValue:”时,它将在蓝牙iOS外设上运行。

但是我search了网页,找不到示例。 苹果文档仍然没有示例代码。

我得到了它的工作。 这是我的工作代码:

// Processes write command received from a central. - (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests { CBATTRequest* request = [requests objectAtIndex: 0]; NSData* request_data = request.value; CBCharacteristic* write_char = request.characteristic; //CBCentral* write_central = request.central; //NSUInteger multi_message_offset = request.offset; // Face commands this PWR RX to advertise serno UUID? int total_write_requests = 0; if([ write_char.UUID isEqual: [CBUUID UUIDWithString: YOUR_CHARACTERISTIC_UUID]] ) { // Read desired new_state data from central: unsigned char* new_state = (unsigned char*)[request_data bytes]; my_new_state = new_state[0]; #endif NSLog(@" - advertise serno UUID: %s", my_new_state ? "TRUE" : "FALSE" ); // Select UUID that includes serno of PWR RX, for advertisements: ++total_write_requests; } if( total_write_requests ) [peripheral respondToRequest:request withResult:CBATTErrorSuccess]; // result = success else { NSLog(@"_no_write_request_FAULT !!"); } }