我需要一个函数didReceiveWriteRequests的示例实现,该函数在中央iOS设备执行'writeValue:'写入数据时在蓝牙iOS外设上运行。其中是iOS蓝牙LE外设管理器的示例didReceiveWriteRequests
但我搜索了网页,找不到示例。 Apple文档仍然没有示例代码。
我需要一个函数didReceiveWriteRequests的示例实现,该函数在中央iOS设备执行'writeValue:'写入数据时在蓝牙iOS外设上运行。其中是iOS蓝牙LE外设管理器的示例didReceiveWriteRequests
但我搜索了网页,找不到示例。 Apple文档仍然没有示例代码。
我明白了。这里是我的工作代码:
// 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 !!");
}
}
你可以如何从中央发起请求? –
这也不考虑数组中的所有请求? – JuJoDi
我已经完成了BLE教程,请分享您的邮件ID。我会为你提供代码。 –