当我收到
时- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests
我不清楚我是否应该填写所有请求,但只是成功回复第一个请求,或者我是否只应该满足第一个写请求回应第一个成功。
当我收到委托方法时,我首先按照Apple的说明说明
像处理单个请求一样处理多个请求 - 如果有的话 个人要求无法满足,你不应该满足任何要求 他们。而是调用respondToRequest:withResult:方法 立即提供表明原因的结果 故障。
通过
// TODO: doesn't yet take into account offset (request.offset > characteristic.value.length)
for (CBATTRequest *r in requests) {
if ([validIds indexOfObject:[r.characteristic.UUID UUIDString]] == NSNotFound) {
NSLog(@"Cannot fulfill write request: %@", r);
[self.manager respondToRequest:requests[0] withResult:CBATTErrorWriteNotPermitted];
return;
}
}
然而,一旦我通过了这个,并且知道我可以完成所有请求,我不清楚我是否应该实际迭代所有请求并写每个人的特征值,然后当我完成时只响应第一个请求,或者我应该只完成第一个请求并成功回应?